import type { TabPosition, RenderTabBar, TabsLocale, AnimatedConfig, OnTabScroll } from './interface';
import type { CSSProperties, PropType, ExtractPropTypes } from 'vue';
import type { SizeType } from '../../config-provider';
import type { Key } from '../../_util/type';
export declare type TabsType = 'line' | 'card' | 'editable-card';
export declare type TabsPosition = 'top' | 'right' | 'bottom' | 'left';
export declare const tabsProps: () => {
    prefixCls: {
        type: StringConstructor;
    };
    id: {
        type: StringConstructor;
    };
    activeKey: {
        type: (StringConstructor | NumberConstructor)[];
    };
    defaultActiveKey: {
        type: (StringConstructor | NumberConstructor)[];
    };
    direction: {
        type: PropType<"ltr" | "rtl">;
    };
    animated: {
        type: PropType<boolean | AnimatedConfig>;
    };
    renderTabBar: {
        type: PropType<RenderTabBar>;
    };
    tabBarGutter: {
        type: NumberConstructor;
    };
    tabBarStyle: {
        type: PropType<CSSProperties>;
    };
    tabPosition: {
        type: PropType<TabPosition>;
    };
    destroyInactiveTabPane: {
        type: BooleanConstructor;
    };
    hideAdd: BooleanConstructor;
    type: {
        type: PropType<TabsType>;
    };
    size: {
        type: PropType<SizeType>;
    };
    centered: BooleanConstructor;
    onEdit: {
        type: PropType<(e: MouseEvent | KeyboardEvent | Key, action: 'add' | 'remove') => void>;
    };
    onChange: {
        type: PropType<(activeKey: Key) => void>;
    };
    onTabClick: {
        type: PropType<(activeKey: Key, e: KeyboardEvent | MouseEvent) => void>;
    };
    onTabScroll: {
        type: PropType<OnTabScroll>;
    };
    locale: {
        type: PropType<TabsLocale>;
        default: TabsLocale;
    };
    onPrevClick: FunctionConstructor;
    onNextClick: FunctionConstructor;
    tabBarExtraContent: import("vue-types").VueTypeValidableDef<any>;
};
export declare type TabsProps = Partial<ExtractPropTypes<ReturnType<typeof tabsProps>>>;
declare const _default: import("vue").DefineComponent<{
    prefixCls: {
        type: StringConstructor;
    };
    id: {
        type: StringConstructor;
    };
    activeKey: {
        type: (StringConstructor | NumberConstructor)[];
    };
    defaultActiveKey: {
        type: (StringConstructor | NumberConstructor)[];
    };
    direction: {
        type: PropType<"ltr" | "rtl">;
    };
    animated: {
        type: PropType<boolean | AnimatedConfig>;
    };
    renderTabBar: {
        type: PropType<RenderTabBar>;
    };
    tabBarGutter: {
        type: NumberConstructor;
    };
    tabBarStyle: {
        type: PropType<CSSProperties>;
    };
    tabPosition: {
        type: PropType<TabPosition>;
    };
    destroyInactiveTabPane: {
        type: BooleanConstructor;
    };
    hideAdd: BooleanConstructor;
    type: {
        type: PropType<TabsType>;
    };
    size: {
        type: PropType<SizeType>;
    };
    centered: BooleanConstructor;
    onEdit: {
        type: PropType<(e: any, action: "add" | "remove") => void>;
    };
    onChange: {
        type: PropType<(activeKey: Key) => void>;
    };
    onTabClick: {
        type: PropType<(activeKey: Key, e: any) => void>;
    };
    onTabScroll: {
        type: PropType<OnTabScroll>;
    };
    locale: {
        type: PropType<TabsLocale>;
        default: TabsLocale;
    };
    onPrevClick: FunctionConstructor;
    onNextClick: FunctionConstructor;
    tabBarExtraContent: import("vue-types").VueTypeValidableDef<any>;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("change" | "update:activeKey" | "tabClick" | "tabScroll")[], "change" | "update:activeKey" | "tabClick" | "tabScroll", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    prefixCls?: unknown;
    id?: unknown;
    activeKey?: unknown;
    defaultActiveKey?: unknown;
    direction?: unknown;
    animated?: unknown;
    renderTabBar?: unknown;
    tabBarGutter?: unknown;
    tabBarStyle?: unknown;
    tabPosition?: unknown;
    destroyInactiveTabPane?: unknown;
    hideAdd?: unknown;
    type?: unknown;
    size?: unknown;
    centered?: unknown;
    onEdit?: unknown;
    onChange?: unknown;
    onTabClick?: unknown;
    onTabScroll?: unknown;
    locale?: unknown;
    onPrevClick?: unknown;
    onNextClick?: unknown;
    tabBarExtraContent?: unknown;
} & {
    locale: TabsLocale;
    destroyInactiveTabPane: boolean;
    hideAdd: boolean;
    centered: boolean;
} & {
    type?: TabsType;
    prefixCls?: string;
    direction?: "ltr" | "rtl";
    onChange?: (activeKey: Key) => void;
    size?: SizeType;
    onEdit?: (e: any, action: "add" | "remove") => void;
    id?: string;
    activeKey?: string | number;
    animated?: unknown;
    onTabClick?: (activeKey: Key, e: any) => void;
    tabBarGutter?: number;
    tabPosition?: TabPosition;
    renderTabBar?: RenderTabBar;
    onTabScroll?: OnTabScroll;
    tabBarExtraContent?: any;
    defaultActiveKey?: string | number;
    tabBarStyle?: unknown;
    onPrevClick?: Function;
    onNextClick?: Function;
}> & {
    onChange?: (...args: any[]) => any;
    "onUpdate:activeKey"?: (...args: any[]) => any;
    onTabClick?: (...args: any[]) => any;
    onTabScroll?: (...args: any[]) => any;
}, {
    locale: TabsLocale;
    destroyInactiveTabPane: boolean;
    hideAdd: boolean;
    centered: boolean;
}>;
export default _default;
