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").CreateComponentPublicInstanceWithMixins<Readonly<import("vue").ExtractPropTypes<{
        activeKey: {
            type: (StringConstructor | NumberConstructor)[];
            default: undefined;
        };
        defaultActiveKey: {
            type: (StringConstructor | NumberConstructor)[];
            default: undefined;
        };
        position: {
            type: import("vue").PropType<import("./interface").TabsPosition>;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        type: {
            type: import("vue").PropType<import("./interface").TabsType>;
            default: string;
        };
        direction: {
            type: import("vue").PropType<"horizontal" | "vertical">;
            default: string;
        };
        editable: {
            type: BooleanConstructor;
            default: boolean;
        };
        showAddButton: {
            type: BooleanConstructor;
            default: boolean;
        };
        destroyOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        lazyLoad: {
            type: BooleanConstructor;
            default: boolean;
        };
        justify: {
            type: BooleanConstructor;
            default: boolean;
        };
        animation: {
            type: BooleanConstructor;
            default: boolean;
        };
        headerPadding: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoSwitch: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideContent: {
            type: BooleanConstructor;
            default: boolean;
        };
        trigger: {
            type: import("vue").PropType<import("./interface").TabTriggerEvent>;
            default: string;
        };
        scrollPosition: {
            type: import("vue").PropType<import("./interface").ScrollPosition>;
            default: string;
        };
    }>> & Readonly<{
        onDelete?: ((key: string | number, ev: Event) => any) | undefined;
        onAdd?: ((ev: Event) => any) | undefined;
        onChange?: ((key: string | number) => any) | undefined;
        "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
        onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, 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;
    }, import("vue").PublicProps, {
        type: import("./interface").TabsType;
        direction: "horizontal" | "vertical";
        position: import("./interface").TabsPosition;
        justify: boolean;
        trigger: import("./interface").TabTriggerEvent;
        animation: boolean;
        activeKey: string | number;
        defaultActiveKey: string | number;
        destroyOnHide: boolean;
        editable: boolean;
        showAddButton: boolean;
        lazyLoad: boolean;
        headerPadding: boolean;
        autoSwitch: boolean;
        hideContent: boolean;
        scrollPosition: import("./interface").ScrollPosition;
    }, true, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly<import("vue").ExtractPropTypes<{
        activeKey: {
            type: (StringConstructor | NumberConstructor)[];
            default: undefined;
        };
        defaultActiveKey: {
            type: (StringConstructor | NumberConstructor)[];
            default: undefined;
        };
        position: {
            type: import("vue").PropType<import("./interface").TabsPosition>;
            default: string;
        };
        size: {
            type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
        };
        type: {
            type: import("vue").PropType<import("./interface").TabsType>;
            default: string;
        };
        direction: {
            type: import("vue").PropType<"horizontal" | "vertical">;
            default: string;
        };
        editable: {
            type: BooleanConstructor;
            default: boolean;
        };
        showAddButton: {
            type: BooleanConstructor;
            default: boolean;
        };
        destroyOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        lazyLoad: {
            type: BooleanConstructor;
            default: boolean;
        };
        justify: {
            type: BooleanConstructor;
            default: boolean;
        };
        animation: {
            type: BooleanConstructor;
            default: boolean;
        };
        headerPadding: {
            type: BooleanConstructor;
            default: boolean;
        };
        autoSwitch: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideContent: {
            type: BooleanConstructor;
            default: boolean;
        };
        trigger: {
            type: import("vue").PropType<import("./interface").TabTriggerEvent>;
            default: string;
        };
        scrollPosition: {
            type: import("vue").PropType<import("./interface").ScrollPosition>;
            default: string;
        };
    }>> & Readonly<{
        onDelete?: ((key: string | number, ev: Event) => any) | undefined;
        onAdd?: ((ev: Event) => any) | undefined;
        onChange?: ((key: string | number) => any) | undefined;
        "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
        onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
    }>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, {
        type: import("./interface").TabsType;
        direction: "horizontal" | "vertical";
        position: import("./interface").TabsPosition;
        justify: boolean;
        trigger: import("./interface").TabTriggerEvent;
        animation: boolean;
        activeKey: string | number;
        defaultActiveKey: string | number;
        destroyOnHide: boolean;
        editable: boolean;
        showAddButton: boolean;
        lazyLoad: boolean;
        headerPadding: boolean;
        autoSwitch: boolean;
        hideContent: boolean;
        scrollPosition: import("./interface").ScrollPosition;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    activeKey: {
        type: (StringConstructor | NumberConstructor)[];
        default: undefined;
    };
    defaultActiveKey: {
        type: (StringConstructor | NumberConstructor)[];
        default: undefined;
    };
    position: {
        type: import("vue").PropType<import("./interface").TabsPosition>;
        default: string;
    };
    size: {
        type: import("vue").PropType<"mini" | "small" | "medium" | "large">;
    };
    type: {
        type: import("vue").PropType<import("./interface").TabsType>;
        default: string;
    };
    direction: {
        type: import("vue").PropType<"horizontal" | "vertical">;
        default: string;
    };
    editable: {
        type: BooleanConstructor;
        default: boolean;
    };
    showAddButton: {
        type: BooleanConstructor;
        default: boolean;
    };
    destroyOnHide: {
        type: BooleanConstructor;
        default: boolean;
    };
    lazyLoad: {
        type: BooleanConstructor;
        default: boolean;
    };
    justify: {
        type: BooleanConstructor;
        default: boolean;
    };
    animation: {
        type: BooleanConstructor;
        default: boolean;
    };
    headerPadding: {
        type: BooleanConstructor;
        default: boolean;
    };
    autoSwitch: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideContent: {
        type: BooleanConstructor;
        default: boolean;
    };
    trigger: {
        type: import("vue").PropType<import("./interface").TabTriggerEvent>;
        default: string;
    };
    scrollPosition: {
        type: import("vue").PropType<import("./interface").ScrollPosition>;
        default: string;
    };
}>> & Readonly<{
    onDelete?: ((key: string | number, ev: Event) => any) | undefined;
    onAdd?: ((ev: Event) => any) | undefined;
    onChange?: ((key: string | number) => any) | undefined;
    "onUpdate:activeKey"?: ((key: string | number) => any) | undefined;
    onTabClick?: ((key: string | number, ev: Event) => any) | undefined;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, 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, {
    type: import("./interface").TabsType;
    direction: "horizontal" | "vertical";
    position: import("./interface").TabsPosition;
    justify: boolean;
    trigger: import("./interface").TabTriggerEvent;
    animation: boolean;
    activeKey: string | number;
    defaultActiveKey: string | number;
    destroyOnHide: boolean;
    editable: boolean;
    showAddButton: boolean;
    lazyLoad: boolean;
    headerPadding: boolean;
    autoSwitch: boolean;
    hideContent: boolean;
    scrollPosition: import("./interface").ScrollPosition;
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & {
    TabPane: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
        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, HTMLElement | undefined>;
        mounted: import("vue").Ref<boolean, boolean>;
    }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
        title: StringConstructor;
        disabled: {
            type: BooleanConstructor;
            default: boolean;
        };
        closable: {
            type: BooleanConstructor;
            default: boolean;
        };
        destroyOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
    }>> & Readonly<{}>, {
        disabled: boolean;
        closable: boolean;
        destroyOnHide: boolean;
    }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
    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;
