import Tabs from './Tabs.vue';
export declare const GmTabs: import("../../../../utils").SFCWithInstall<{
    new (...args: any[]): import("vue").CreateComponentPublicInstance<Readonly<import("vue").ExtractPropTypes<{
        type: {
            readonly type: import("vue").PropType<"" | "card" | "border-card">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        closable: BooleanConstructor;
        addable: BooleanConstructor;
        modelValue: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        editable: BooleanConstructor;
        tabPosition: {
            readonly type: import("vue").PropType<"top" | "bottom" | "left" | "right">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "top";
        };
        beforeLeave: {
            readonly type: import("vue").PropType<(newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => true;
        };
        stretch: BooleanConstructor;
    }>> & {
        "onUpdate:modelValue"?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onTabClick?: ((pane: {
            uid: number;
            getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
            slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            props: {
                readonly disabled: boolean;
                readonly label: string;
                readonly lazy: boolean;
                readonly name?: (string | number) | undefined;
                readonly closable?: boolean | undefined;
            };
            paneName: import("element-plus").TabPaneName | undefined;
            active: boolean;
            index: string | undefined;
            isClosable: boolean;
            isFocusInsidePane: () => boolean | undefined;
        }, ev: Event) => any) | undefined;
        onTabChange?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
        onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onTabAdd?: (() => any) | undefined;
    }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
        "update:modelValue": (name: import("element-plus").TabPaneName) => void;
        tabClick: (pane: {
            uid: number;
            getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
            slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            props: {
                readonly disabled: boolean;
                readonly label: string;
                readonly lazy: boolean;
                readonly name?: (string | number) | undefined;
                readonly closable?: boolean | undefined;
            };
            paneName: import("element-plus").TabPaneName | undefined;
            active: boolean;
            index: string | undefined;
            isClosable: boolean;
            isFocusInsidePane: () => boolean | undefined;
        }, ev: Event) => void;
        tabChange: (name: import("element-plus").TabPaneName) => void;
        edit: (paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => void;
        tabRemove: (name: import("element-plus").TabPaneName) => void;
        tabAdd: () => void;
    }, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & Readonly<import("vue").ExtractPropTypes<{
        type: {
            readonly type: import("vue").PropType<"" | "card" | "border-card">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        closable: BooleanConstructor;
        addable: BooleanConstructor;
        modelValue: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        editable: BooleanConstructor;
        tabPosition: {
            readonly type: import("vue").PropType<"top" | "bottom" | "left" | "right">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "top";
        };
        beforeLeave: {
            readonly type: import("vue").PropType<(newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => true;
        };
        stretch: BooleanConstructor;
    }>> & {
        "onUpdate:modelValue"?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onTabClick?: ((pane: {
            uid: number;
            getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
            slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            props: {
                readonly disabled: boolean;
                readonly label: string;
                readonly lazy: boolean;
                readonly name?: (string | number) | undefined;
                readonly closable?: boolean | undefined;
            };
            paneName: import("element-plus").TabPaneName | undefined;
            active: boolean;
            index: string | undefined;
            isClosable: boolean;
            isFocusInsidePane: () => boolean | undefined;
        }, ev: Event) => any) | undefined;
        onTabChange?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
        onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onTabAdd?: (() => any) | undefined;
    }, {
        type: "" | "card" | "border-card";
        stretch: boolean;
        closable: boolean;
        editable: boolean;
        beforeLeave: (newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>;
        addable: boolean;
        tabPosition: "top" | "bottom" | "left" | "right";
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        type: {
            readonly type: import("vue").PropType<"" | "card" | "border-card">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "";
        };
        closable: BooleanConstructor;
        addable: BooleanConstructor;
        modelValue: {
            readonly type: import("vue").PropType<string | number>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        };
        editable: BooleanConstructor;
        tabPosition: {
            readonly type: import("vue").PropType<"top" | "bottom" | "left" | "right">;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: "top";
        };
        beforeLeave: {
            readonly type: import("vue").PropType<(newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>>;
            readonly required: false;
            readonly validator: ((val: unknown) => boolean) | undefined;
            __epPropKey: true;
        } & {
            readonly default: () => true;
        };
        stretch: BooleanConstructor;
    }>> & {
        "onUpdate:modelValue"?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onTabClick?: ((pane: {
            uid: number;
            getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>;
            slots: Readonly<{
                [name: string]: import("vue").Slot<any> | undefined;
            }>;
            props: {
                readonly disabled: boolean;
                readonly label: string;
                readonly lazy: boolean;
                readonly name?: (string | number) | undefined;
                readonly closable?: boolean | undefined;
            };
            paneName: import("element-plus").TabPaneName | undefined;
            active: boolean;
            index: string | undefined;
            isClosable: boolean;
            isFocusInsidePane: () => boolean | undefined;
        }, ev: Event) => any) | undefined;
        onTabChange?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
        onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
        onTabAdd?: (() => any) | undefined;
    }, {}, {}, {}, {}, {
        type: "" | "card" | "border-card";
        stretch: boolean;
        closable: boolean;
        editable: boolean;
        beforeLeave: (newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>;
        addable: boolean;
        tabPosition: "top" | "bottom" | "left" | "right";
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    type: {
        readonly type: import("vue").PropType<"" | "card" | "border-card">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "";
    };
    closable: BooleanConstructor;
    addable: BooleanConstructor;
    modelValue: {
        readonly type: import("vue").PropType<string | number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    editable: BooleanConstructor;
    tabPosition: {
        readonly type: import("vue").PropType<"top" | "bottom" | "left" | "right">;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: "top";
    };
    beforeLeave: {
        readonly type: import("vue").PropType<(newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    } & {
        readonly default: () => true;
    };
    stretch: BooleanConstructor;
}>> & {
    "onUpdate:modelValue"?: ((name: import("element-plus").TabPaneName) => any) | undefined;
    onTabClick?: ((pane: {
        uid: number;
        getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
        slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        props: {
            readonly disabled: boolean;
            readonly label: string;
            readonly lazy: boolean;
            readonly name?: (string | number) | undefined;
            readonly closable?: boolean | undefined;
        };
        paneName: import("element-plus").TabPaneName | undefined;
        active: boolean;
        index: string | undefined;
        isClosable: boolean;
        isFocusInsidePane: () => boolean | undefined;
    }, ev: Event) => any) | undefined;
    onTabChange?: ((name: import("element-plus").TabPaneName) => any) | undefined;
    onEdit?: ((paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => any) | undefined;
    onTabRemove?: ((name: import("element-plus").TabPaneName) => any) | undefined;
    onTabAdd?: (() => any) | undefined;
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:modelValue": (name: import("element-plus").TabPaneName) => void;
    tabClick: (pane: {
        uid: number;
        getVnode: () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>;
        slots: Readonly<{
            [name: string]: import("vue").Slot<any> | undefined;
        }>;
        props: {
            readonly disabled: boolean;
            readonly label: string;
            readonly lazy: boolean;
            readonly name?: (string | number) | undefined;
            readonly closable?: boolean | undefined;
        };
        paneName: import("element-plus").TabPaneName | undefined;
        active: boolean;
        index: string | undefined;
        isClosable: boolean;
        isFocusInsidePane: () => boolean | undefined;
    }, ev: Event) => void;
    tabChange: (name: import("element-plus").TabPaneName) => void;
    edit: (paneName: import("element-plus").TabPaneName | undefined, action: "add" | "remove") => void;
    tabRemove: (name: import("element-plus").TabPaneName) => void;
    tabAdd: () => void;
}, string, {
    type: "" | "card" | "border-card";
    stretch: boolean;
    closable: boolean;
    editable: boolean;
    beforeLeave: (newName: import("element-plus").TabPaneName, oldName: import("element-plus").TabPaneName) => boolean | void | Promise<boolean | void>;
    addable: boolean;
    tabPosition: "top" | "bottom" | "left" | "right";
}, {}, string, {}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
    $slots: {
        default?: ((props: any) => any) | undefined;
    } & {
        'add-icon'?: ((props: {}) => any) | undefined;
    };
})> & Record<string, any>;
export type TabsInstance = InstanceType<typeof Tabs>;
export * from './tabs';
export default GmTabs;
