import type { TabsPaneContext } from './constants'; import type { ExtractPropTypes } from 'vue'; import type { Awaitable } from 'element-plus/es/utils'; export declare type TabPaneName = string | number; export declare const tabsProps: { readonly type: import("element-plus/es/utils").EpPropFinalized; readonly closable: BooleanConstructor; readonly addable: BooleanConstructor; readonly modelValue: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly editable: BooleanConstructor; readonly tabPosition: import("element-plus/es/utils").EpPropFinalized; readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; } | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; })[], unknown, unknown, () => true, boolean>; readonly stretch: BooleanConstructor; }; export declare type TabsProps = ExtractPropTypes; export declare const tabsEmits: { "update:modelValue": (name: TabPaneName) => boolean; tabClick: (pane: TabsPaneContext, ev: Event) => boolean; tabChange: (name: TabPaneName) => boolean; edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') => boolean; tabRemove: (name: TabPaneName) => boolean; tabAdd: () => boolean; }; export declare type TabsEmits = typeof tabsEmits; export declare type TabsPanes = Record; declare const Tabs: import("vue").DefineComponent<{ readonly type: import("element-plus/es/utils").EpPropFinalized; readonly closable: BooleanConstructor; readonly addable: BooleanConstructor; readonly modelValue: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly editable: BooleanConstructor; readonly tabPosition: import("element-plus/es/utils").EpPropFinalized; readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; } | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; })[], unknown, unknown, () => true, boolean>; readonly stretch: BooleanConstructor; }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { "update:modelValue": (name: TabPaneName) => boolean; tabClick: (pane: TabsPaneContext, ev: Event) => boolean; tabChange: (name: TabPaneName) => boolean; edit: (paneName: TabPaneName | undefined, action: 'remove' | 'add') => boolean; tabRemove: (name: TabPaneName) => boolean; tabAdd: () => boolean; }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; readonly closable: BooleanConstructor; readonly addable: BooleanConstructor; readonly modelValue: { readonly type: import("vue").PropType>; readonly required: false; readonly validator: ((val: unknown) => boolean) | undefined; __epPropKey: true; }; readonly editable: BooleanConstructor; readonly tabPosition: import("element-plus/es/utils").EpPropFinalized; readonly beforeLeave: import("element-plus/es/utils").EpPropFinalized<(new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; } | ((new (...args: any[]) => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | (() => (newName: TabPaneName, oldName: TabPaneName) => Awaitable) | { (): (newName: TabPaneName, oldName: TabPaneName) => Awaitable; new (): any; readonly prototype: any; })[], unknown, unknown, () => true, boolean>; readonly stretch: BooleanConstructor; }>> & { "onUpdate:modelValue"?: ((name: TabPaneName) => any) | undefined; onTabClick?: ((pane: { uid: number; slots: Readonly<{ [name: string]: import("vue").Slot | undefined; }>; props: { readonly label: string; readonly disabled: boolean; readonly closable: boolean; readonly lazy: boolean; readonly name?: import("element-plus/es/utils").EpPropMergeType | undefined; }; paneName: string | number | undefined; active: boolean; index: string | undefined; isClosable: boolean; }, ev: Event) => any) | undefined; onTabRemove?: ((name: TabPaneName) => any) | undefined; onTabChange?: ((name: TabPaneName) => any) | undefined; onEdit?: ((paneName: TabPaneName | undefined, action: "add" | "remove") => any) | undefined; onTabAdd?: (() => any) | undefined; }, { readonly stretch: boolean; readonly type: import("element-plus/es/utils").EpPropMergeType; readonly closable: boolean; readonly editable: boolean; readonly beforeLeave: (newName: TabPaneName, oldName: TabPaneName) => Awaitable; readonly tabPosition: import("element-plus/es/utils").EpPropMergeType; readonly addable: boolean; }>; export declare type TabsInstance = InstanceType & { currentName: TabPaneName; }; export default Tabs;