import type { FocusEventHandler, Key, MouseEventHandler } from '@antdv/ui/es/types';
import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
import type { SizeType } from '@antdv/ui/es/types';
import type { AnimatedConfig, EditableConfig, OnTabScroll, RenderTabBar, Tab, TabPosition, TabsLocale, TabsType } from './interface';
export declare function addButtonProps(): {
    prefixCls: StringConstructor;
    editable: {
        type: PropType<EditableConfig>;
    };
    locale: {
        type: PropType<TabsLocale>;
        default: TabsLocale;
    };
};
export declare function tabNavListProps(): {
    id: {
        type: StringConstructor;
    };
    tabPosition: {
        type: PropType<TabPosition>;
    };
    activeKey: {
        type: (NumberConstructor | StringConstructor)[];
    };
    rtl: {
        type: BooleanConstructor;
    };
    animated: {
        type: PropType<AnimatedConfig>;
        default: AnimatedConfig;
    };
    editable: {
        type: PropType<EditableConfig>;
        default: EditableConfig;
    };
    moreIcon: any;
    moreTransitionName: {
        type: StringConstructor;
    };
    mobile: {
        type: BooleanConstructor;
    };
    tabBarGutter: {
        type: NumberConstructor;
    };
    renderTabBar: {
        type: PropType<RenderTabBar>;
    };
    locale: {
        type: PropType<TabsLocale>;
        default: TabsLocale;
    };
    popupClassName: StringConstructor;
    getPopupContainer: {
        type: PropType<(triggerNode?: HTMLElement | undefined) => HTMLElement>;
        default: (triggerNode?: HTMLElement | undefined) => HTMLElement;
    };
    onTabClick: {
        type: PropType<(activeKey: Key, e: MouseEvent | KeyboardEvent) => void>;
    };
    onTabScroll: {
        type: PropType<OnTabScroll>;
    };
};
export declare const operationNodeProps: {
    prefixCls: {
        type: StringConstructor;
    };
    id: {
        type: StringConstructor;
    };
    tabs: {
        type: PropType<(Tab & {
            closeIcon?: () => any;
        })[]>;
    };
    rtl: {
        type: BooleanConstructor;
    };
    tabBarGutter: {
        type: NumberConstructor;
    };
    activeKey: {
        type: (NumberConstructor | StringConstructor)[];
    };
    mobile: {
        type: BooleanConstructor;
    };
    moreIcon: any;
    moreTransitionName: {
        type: StringConstructor;
    };
    editable: {
        type: PropType<EditableConfig>;
    };
    locale: {
        type: PropType<TabsLocale>;
        default: TabsLocale;
    };
    removeAriaLabel: StringConstructor;
    onTabClick: {
        type: PropType<(key: Key, e: MouseEvent | KeyboardEvent) => void>;
    };
    popupClassName: StringConstructor;
    getPopupContainer: {
        type: PropType<(triggerNode?: HTMLElement | undefined) => HTMLElement>;
        default: (triggerNode?: HTMLElement | undefined) => HTMLElement;
    };
};
export declare function tabNodeProps(): {
    id: {
        type: PropType<string>;
    };
    prefixCls: {
        type: PropType<string>;
    };
    tab: {
        type: PropType<Tab & {
            closeIcon?: () => any;
        }>;
    };
    active: {
        type: BooleanConstructor;
    };
    closable: {
        type: BooleanConstructor;
    };
    editable: {
        type: PropType<EditableConfig>;
    };
    onClick: {
        type: PropType<(e: MouseEvent | KeyboardEvent) => void>;
    };
    onResize: {
        type: PropType<(width: number, height: number, left: number, top: number) => void>;
    };
    renderWrapper: {
        type: PropType<(node: any) => any>;
    };
    removeAriaLabel: {
        type: StringConstructor;
    };
    onFocus: {
        type: PropType<FocusEventHandler>;
    };
};
export declare function tabPanelListProps(): {
    activeKey: {
        type: PropType<Key>;
    };
    id: {
        type: StringConstructor;
    };
    rtl: {
        type: BooleanConstructor;
    };
    animated: {
        type: PropType<AnimatedConfig>;
        default: AnimatedConfig;
    };
    tabPosition: {
        type: PropType<TabPosition>;
    };
    destroyInactiveTabPane: {
        type: BooleanConstructor;
    };
};
export declare function tabPaneProps(): {
    tab: any;
    disabled: {
        type: BooleanConstructor;
    };
    forceRender: {
        type: BooleanConstructor;
    };
    closable: {
        type: BooleanConstructor;
    };
    animated: {
        type: BooleanConstructor;
    };
    active: {
        type: BooleanConstructor;
    };
    destroyInactiveTabPane: {
        type: BooleanConstructor;
    };
    prefixCls: {
        type: StringConstructor;
    };
    tabKey: {
        type: (NumberConstructor | StringConstructor)[];
    };
    id: {
        type: StringConstructor;
    };
};
export declare function tabsProps(): {
    prefixCls: {
        type: StringConstructor;
    };
    id: {
        type: StringConstructor;
    };
    popupClassName: StringConstructor;
    getPopupContainer: {
        type: PropType<(triggerNode?: HTMLElement | undefined) => HTMLElement>;
        default: (triggerNode?: HTMLElement | undefined) => HTMLElement;
    };
    activeKey: {
        type: (NumberConstructor | StringConstructor)[];
    };
    defaultActiveKey: {
        type: (NumberConstructor | StringConstructor)[];
    };
    direction: {
        type: PropType<"ltr" | "rtl">;
        default: "ltr" | "rtl";
    };
    animated: {
        type: PropType<boolean | AnimatedConfig>;
        default: boolean | AnimatedConfig;
    };
    renderTabBar: {
        type: PropType<RenderTabBar>;
        default: RenderTabBar;
    };
    tabBarGutter: {
        type: NumberConstructor;
    };
    tabBarStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    tabPosition: {
        type: PropType<TabPosition>;
        default: TabPosition;
    };
    destroyInactiveTabPane: {
        type: BooleanConstructor;
        default: boolean;
    };
    hideAdd: BooleanConstructor;
    type: {
        type: PropType<TabsType>;
        default: TabsType;
    };
    size: {
        type: PropType<SizeType>;
        default: SizeType;
    };
    centered: BooleanConstructor;
    onEdit: {
        type: PropType<(e: MouseEvent | KeyboardEvent | Key, action: 'add' | 'remove') => void>;
        default: (e: MouseEvent | KeyboardEvent | Key, action: 'add' | 'remove') => void;
    };
    onChange: {
        type: PropType<(activeKey: Key) => void>;
        default: (activeKey: Key) => void;
    };
    onTabClick: {
        type: PropType<(activeKey: Key, e: KeyboardEvent | MouseEvent) => void>;
        default: (activeKey: Key, e: KeyboardEvent | MouseEvent) => void;
    };
    onTabScroll: {
        type: PropType<OnTabScroll>;
        default: OnTabScroll;
    };
    'onUpdate:activeKey': {
        type: PropType<(activeKey: Key) => void>;
        default: (activeKey: Key) => void;
    };
    locale: {
        type: PropType<TabsLocale>;
        default: TabsLocale;
    };
    onPrevClick: {
        type: PropType<MouseEventHandler>;
        default: MouseEventHandler;
    };
    onNextClick: {
        type: PropType<MouseEventHandler>;
        default: MouseEventHandler;
    };
    tabBarExtraContent: any;
};
export type TabsProps = Partial<ExtractPropTypes<ReturnType<typeof tabsProps>>>;
export type TabPaneProps = Partial<ExtractPropTypes<ReturnType<typeof tabPaneProps>>>;
export type TabNodeProps = Partial<ExtractPropTypes<typeof tabNodeProps>>;
export type TabPanelProps = Partial<ExtractPropTypes<ReturnType<typeof tabPanelListProps>>>;
export type OperationNodeProps = Partial<ExtractPropTypes<typeof operationNodeProps>>;
export type TabNavListProps = Partial<ExtractPropTypes<ReturnType<typeof tabNavListProps>>>;
export type AddButtonProps = Partial<ExtractPropTypes<ReturnType<typeof addButtonProps>>>;
