import { TabPaneProps } from 'ant-design-vue/es/tabs/src/TabPanelList/TabPane';
import { CSSProperties, ExtractPropTypes, VNode } from 'vue';
import { ExtractEmitsTypes } from '@yanzhen-libs/utils-vue';
export declare const tabsOptions: {
    ns: any;
    class: any;
    name: any;
};
export declare const tabsName: any;
export declare const AntTabs: {
    props: {
        tabBarExtraContent: import('vue').PropType<any>;
        prefixCls: {
            type: StringConstructor;
        };
        id: {
            type: StringConstructor;
        };
        popupClassName: StringConstructor;
        getPopupContainer: {
            type: import('vue').PropType<(triggerNode?: HTMLElement | undefined) => HTMLElement>;
            default: (triggerNode?: HTMLElement | undefined) => HTMLElement;
        };
        activeKey: {
            type: (StringConstructor | NumberConstructor)[];
        };
        defaultActiveKey: {
            type: (StringConstructor | NumberConstructor)[];
        };
        direction: {
            type: import('vue').PropType<"rtl" | "ltr">;
            default: "rtl" | "ltr";
        };
        animated: {
            type: import('vue').PropType<boolean | import('ant-design-vue/es/tabs/src/interface').AnimatedConfig>;
            default: boolean | import('ant-design-vue/es/tabs/src/interface').AnimatedConfig;
        };
        renderTabBar: {
            type: import('vue').PropType<import('ant-design-vue/es/tabs/src/interface').RenderTabBar>;
            default: import('ant-design-vue/es/tabs/src/interface').RenderTabBar;
        };
        tabBarGutter: {
            type: NumberConstructor;
        };
        tabBarStyle: {
            type: import('vue').PropType<CSSProperties>;
            default: CSSProperties;
        };
        tabPosition: {
            type: import('vue').PropType<import('ant-design-vue/es/tabs/src/interface').TabPosition>;
            default: import('ant-design-vue/es/tabs/src/interface').TabPosition;
        };
        destroyInactiveTabPane: {
            type: BooleanConstructor;
            default: boolean;
        };
        hideAdd: BooleanConstructor;
        type: {
            type: import('vue').PropType<import('ant-design-vue/es/tabs/src/Tabs').TabsType>;
            default: import('ant-design-vue/es/tabs/src/Tabs').TabsType;
        };
        size: {
            type: import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>;
            default: import('ant-design-vue/es/button').ButtonSize;
        };
        centered: BooleanConstructor;
        locale: {
            type: import('vue').PropType<import('ant-design-vue/es/tabs/src/interface').TabsLocale>;
            default: import('ant-design-vue/es/tabs/src/interface').TabsLocale;
        };
    };
    emits: {
        edit: (e: MouseEvent | KeyboardEvent | import('ant-design-vue/es/_util/type').Key, action: "add" | "remove") => void;
        change: (activeKey: import('ant-design-vue/es/_util/type').Key) => void;
        "tab-click": (activeKey: import('ant-design-vue/es/_util/type').Key, e: KeyboardEvent | MouseEvent) => void;
        "tab-scroll": import('ant-design-vue/es/tabs/src/interface').OnTabScroll;
        "update:active-key": (activeKey: import('ant-design-vue/es/_util/type').Key) => void;
        "prev-click": import('ant-design-vue/es/_util/EventInterface').MouseEventHandler;
        "next-click": import('ant-design-vue/es/_util/EventInterface').MouseEventHandler;
    };
};
export interface TabPaneItem extends TabPaneProps {
    key: string | number;
    tab?: TabPaneProps['tab'];
    name?: TabPaneProps['tab'];
    style?: CSSProperties | string;
    class?: string;
    [k: string]: any;
}
export declare const tabsProps: {
    value: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    tabList: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<TabPaneItem[]>, unknown, unknown, () => any[], boolean>;
    minHeight: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<string | number>, unknown, unknown, () => number, boolean>;
    renderTabPane: {
        type: import('vue').PropType<(item: Partial<TabPaneItem>) => VNode>;
    };
    tabBarExtraContent: {
        type: import('vue').PropType<any>;
    };
    prefixCls: {
        readonly type: import('vue').PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    id: {
        readonly type: import('vue').PropType<string>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    popupClassName: {
        type: StringConstructor;
    };
    getPopupContainer: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<(triggerNode?: HTMLElement | undefined) => HTMLElement>, unknown, unknown, (triggerNode?: HTMLElement | undefined) => HTMLElement, boolean>;
    activeKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    defaultActiveKey: {
        readonly type: import('vue').PropType<import('@yanzhen-libs/utils-vue').EpPropMergeType<(StringConstructor | NumberConstructor)[], unknown, unknown>>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    direction: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<"rtl" | "ltr">, unknown, unknown, "rtl" | "ltr", boolean>;
    animated: {
        readonly type: import('vue').PropType<unknown>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    renderTabBar: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('ant-design-vue/es/tabs/src/interface').RenderTabBar>, unknown, unknown, import('ant-design-vue/es/tabs/src/interface').RenderTabBar, boolean>;
    tabBarGutter: {
        readonly type: import('vue').PropType<number>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
    tabBarStyle: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<CSSProperties>, unknown, unknown, CSSProperties, boolean>;
    tabPosition: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('ant-design-vue/es/tabs/src/interface').TabPosition>, unknown, unknown, import('ant-design-vue/es/tabs/src/interface').TabPosition, boolean>;
    destroyInactiveTabPane: import('@yanzhen-libs/utils-vue').EpPropFinalized<BooleanConstructor, unknown, unknown, boolean, boolean>;
    hideAdd: {
        type: BooleanConstructor;
    };
    type: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('ant-design-vue/es/tabs/src/Tabs').TabsType>, unknown, unknown, import('ant-design-vue/es/tabs/src/Tabs').TabsType, boolean>;
    size: import('@yanzhen-libs/utils-vue').EpPropFinalized<import('vue').PropType<import('ant-design-vue/es/button').ButtonSize>, unknown, unknown, import('ant-design-vue/es/button').ButtonSize, boolean>;
    centered: {
        type: BooleanConstructor;
    };
    locale: {
        readonly type: import('vue').PropType<import('ant-design-vue/es/tabs/src/interface').TabsLocale>;
        readonly required: false;
        readonly validator: ((val: unknown) => boolean) | undefined;
        __epPropKey: true;
    };
};
export declare const tabsEmits: {
    'update:value': (...args: unknown[]) => boolean;
    edit: (e: MouseEvent | KeyboardEvent | import('ant-design-vue/es/_util/type').Key, action: "add" | "remove") => boolean;
    change: (activeKey: import('ant-design-vue/es/_util/type').Key) => boolean;
    "tab-click": (activeKey: import('ant-design-vue/es/_util/type').Key, e: MouseEvent | KeyboardEvent) => boolean;
    "tab-scroll": (info: {
        direction: "left" | "right" | "top" | "bottom";
    }) => boolean;
    "update:active-key": (activeKey: import('ant-design-vue/es/_util/type').Key) => boolean;
    "prev-click": (e: MouseEvent) => boolean;
    "next-click": (e: MouseEvent) => boolean;
};
export type TabsProps = ExtractPropTypes<typeof tabsProps>;
export type TabsPropsKey = keyof TabsProps;
export type TabsEmits = ExtractEmitsTypes<typeof tabsEmits>;
