import type { App } from 'vue';
import type { ArcoOptions } from '../_utils/types';
import _Tabs from './tabs';
import _TabPane from './tab-pane';
declare const Tabs: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            trigger: import("./interface").TabTriggerEvent;
            position: import("./interface").TabsPosition;
            justify: boolean;
            type: import("./interface").TabsType;
            direction: "horizontal" | "vertical";
            animation: boolean;
            activeKey: string | number;
            defaultActiveKey: string | number;
            destroyOnHide: boolean;
            editable: boolean;
            showAddButton: boolean;
            lazyLoad: boolean;
            headerPadding: boolean;
            autoSwitch: boolean;
            hideContent: boolean;
        }> & Omit<Readonly<{
            activeKey?: unknown;
            defaultActiveKey?: unknown;
            position?: unknown;
            size?: unknown;
            type?: unknown;
            direction?: unknown;
            editable?: unknown;
            showAddButton?: unknown;
            destroyOnHide?: unknown;
            lazyLoad?: unknown;
            justify?: unknown;
            animation?: unknown;
            headerPadding?: unknown;
            autoSwitch?: unknown;
            hideContent?: unknown;
            trigger?: unknown;
        } & {
            trigger: import("./interface").TabTriggerEvent;
            position: import("./interface").TabsPosition;
            justify: boolean;
            type: import("./interface").TabsType;
            direction: "horizontal" | "vertical";
            animation: boolean;
            destroyOnHide: boolean;
            editable: boolean;
            showAddButton: boolean;
            lazyLoad: boolean;
            headerPadding: boolean;
            autoSwitch: boolean;
            hideContent: boolean;
        } & {
            size?: "mini" | "small" | "medium" | "large" | undefined;
            activeKey?: string | number | undefined;
            defaultActiveKey?: string | number | undefined;
        }> & {
            onChange?: ((key: string | number) => any) | undefined;
            "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
            onAdd?: ((ev: Event) => any) | undefined;
            onDelete?: ((key: string | number, ev: Event) => any) | undefined;
            onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "trigger" | "position" | "justify" | "type" | "direction" | "animation" | "activeKey" | "defaultActiveKey" | "destroyOnHide" | "editable" | "showAddButton" | "lazyLoad" | "headerPadding" | "autoSwitch" | "hideContent">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot | undefined;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null;
        $emit: ((event: "add", ev: Event) => void) & ((event: "change", key: string | number) => void) & ((event: "update:activeKey", key: string | number) => void) & ((event: "delete", key: string | number, ev: Event) => void) & ((event: "tabClick", key: string | number, ev: Event) => void);
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<{
            activeKey?: unknown;
            defaultActiveKey?: unknown;
            position?: unknown;
            size?: unknown;
            type?: unknown;
            direction?: unknown;
            editable?: unknown;
            showAddButton?: unknown;
            destroyOnHide?: unknown;
            lazyLoad?: unknown;
            justify?: unknown;
            animation?: unknown;
            headerPadding?: unknown;
            autoSwitch?: unknown;
            hideContent?: unknown;
            trigger?: unknown;
        } & {
            trigger: import("./interface").TabTriggerEvent;
            position: import("./interface").TabsPosition;
            justify: boolean;
            type: import("./interface").TabsType;
            direction: "horizontal" | "vertical";
            animation: boolean;
            destroyOnHide: boolean;
            editable: boolean;
            showAddButton: boolean;
            lazyLoad: boolean;
            headerPadding: boolean;
            autoSwitch: boolean;
            hideContent: boolean;
        } & {
            size?: "mini" | "small" | "medium" | "large" | undefined;
            activeKey?: string | number | undefined;
            defaultActiveKey?: string | number | undefined;
        }> & {
            onChange?: ((key: string | number) => any) | undefined;
            "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
            onAdd?: ((ev: Event) => any) | undefined;
            onDelete?: ((key: string | number, ev: Event) => any) | undefined;
            onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
            'update:activeKey': (key: string | number) => true;
            change: (key: string | number) => true;
            tabClick: (key: string | number, ev: Event) => true;
            add: (ev: Event) => true;
            delete: (key: string | number, ev: Event) => true;
        }, string, {
            trigger: import("./interface").TabTriggerEvent;
            position: import("./interface").TabsPosition;
            justify: boolean;
            type: import("./interface").TabsType;
            direction: "horizontal" | "vertical";
            animation: boolean;
            activeKey: string | number;
            defaultActiveKey: string | number;
            destroyOnHide: boolean;
            editable: boolean;
            showAddButton: boolean;
            lazyLoad: boolean;
            headerPadding: boolean;
            autoSwitch: boolean;
            hideContent: boolean;
        }> & {
            beforeCreate?: ((() => void) | (() => void)[]) | undefined;
            created?: ((() => void) | (() => void)[]) | undefined;
            beforeMount?: ((() => void) | (() => void)[]) | undefined;
            mounted?: ((() => void) | (() => void)[]) | undefined;
            beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
            updated?: ((() => void) | (() => void)[]) | undefined;
            activated?: ((() => void) | (() => void)[]) | undefined;
            deactivated?: ((() => void) | (() => void)[]) | undefined;
            beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
            beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
            destroyed?: ((() => void) | (() => void)[]) | undefined;
            unmounted?: ((() => void) | (() => void)[]) | undefined;
            renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
            errorCaptured?: (((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>> | null, info: string) => boolean | void)[]) | undefined;
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
    } & Readonly<{
        activeKey?: unknown;
        defaultActiveKey?: unknown;
        position?: unknown;
        size?: unknown;
        type?: unknown;
        direction?: unknown;
        editable?: unknown;
        showAddButton?: unknown;
        destroyOnHide?: unknown;
        lazyLoad?: unknown;
        justify?: unknown;
        animation?: unknown;
        headerPadding?: unknown;
        autoSwitch?: unknown;
        hideContent?: unknown;
        trigger?: unknown;
    } & {
        trigger: import("./interface").TabTriggerEvent;
        position: import("./interface").TabsPosition;
        justify: boolean;
        type: import("./interface").TabsType;
        direction: "horizontal" | "vertical";
        animation: boolean;
        destroyOnHide: boolean;
        editable: boolean;
        showAddButton: boolean;
        lazyLoad: boolean;
        headerPadding: boolean;
        autoSwitch: boolean;
        hideContent: boolean;
    } & {
        size?: "mini" | "small" | "medium" | "large" | undefined;
        activeKey?: string | number | undefined;
        defaultActiveKey?: string | number | undefined;
    }> & {
        onChange?: ((key: string | number) => any) | undefined;
        "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
        onAdd?: ((ev: Event) => any) | undefined;
        onDelete?: ((key: string | number, ev: Event) => any) | undefined;
        onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
    } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<{
    activeKey?: unknown;
    defaultActiveKey?: unknown;
    position?: unknown;
    size?: unknown;
    type?: unknown;
    direction?: unknown;
    editable?: unknown;
    showAddButton?: unknown;
    destroyOnHide?: unknown;
    lazyLoad?: unknown;
    justify?: unknown;
    animation?: unknown;
    headerPadding?: unknown;
    autoSwitch?: unknown;
    hideContent?: unknown;
    trigger?: unknown;
} & {
    trigger: import("./interface").TabTriggerEvent;
    position: import("./interface").TabsPosition;
    justify: boolean;
    type: import("./interface").TabsType;
    direction: "horizontal" | "vertical";
    animation: boolean;
    destroyOnHide: boolean;
    editable: boolean;
    showAddButton: boolean;
    lazyLoad: boolean;
    headerPadding: boolean;
    autoSwitch: boolean;
    hideContent: boolean;
} & {
    size?: "mini" | "small" | "medium" | "large" | undefined;
    activeKey?: string | number | undefined;
    defaultActiveKey?: string | number | undefined;
}> & {
    onChange?: ((key: string | number) => any) | undefined;
    "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
    onAdd?: ((ev: Event) => any) | undefined;
    onDelete?: ((key: string | number, ev: Event) => any) | undefined;
    onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    'update:activeKey': (key: string | number) => true;
    change: (key: string | number) => true;
    tabClick: (key: string | number, ev: Event) => true;
    add: (ev: Event) => true;
    delete: (key: string | number, ev: Event) => true;
}, string, {
    trigger: import("./interface").TabTriggerEvent;
    position: import("./interface").TabsPosition;
    justify: boolean;
    type: import("./interface").TabsType;
    direction: "horizontal" | "vertical";
    animation: boolean;
    activeKey: string | number;
    defaultActiveKey: string | number;
    destroyOnHide: boolean;
    editable: boolean;
    showAddButton: boolean;
    lazyLoad: boolean;
    headerPadding: boolean;
    autoSwitch: boolean;
    hideContent: boolean;
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    TabPane: import("vue").DefineComponent<{
        title: StringConstructor;
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        closable: {
            type: BooleanConstructor;
            default: boolean;
        };
        destroyOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
    }, {
        prefixCls: string;
        active: import("vue").ComputedRef<boolean>;
        itemRef: import("vue").Ref<HTMLElement | undefined>;
        mounted: import("vue").Ref<boolean>;
    }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
        title?: unknown;
        disabled?: unknown;
        closable?: unknown;
        destroyOnHide?: unknown;
    } & {
        disabled: boolean;
        closable: boolean;
        destroyOnHide: boolean;
    } & {
        title?: string | undefined;
    }>, {
        disabled: boolean;
        closable: boolean;
        destroyOnHide: boolean;
    }>;
    install: (app: App, options?: ArcoOptions | undefined) => void;
};
export declare type TabsInstance = InstanceType<typeof _Tabs>;
export declare type TabPaneInstance = InstanceType<typeof _TabPane>;
export { _TabPane as TabPane };
export default Tabs;
