import type { Ref } from 'vue';
import type { TabValue } from './type';
export interface InjectTabs {
    value: Ref<TabValue>;
}
declare const _default: import("vue").DefineComponent<{
    addable: BooleanConstructor;
    disabled: BooleanConstructor;
    dragSort: BooleanConstructor;
    list: {
        type: import("vue").PropType<import("./type").TdTabPanelProps[]>;
    };
    placement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
        default: "left" | "top" | "bottom" | "right";
        validator(val: "left" | "top" | "bottom" | "right"): boolean;
    };
    size: {
        type: import("vue").PropType<"medium" | "large">;
        default: "medium" | "large";
        validator(val: "medium" | "large"): boolean;
    };
    theme: {
        type: import("vue").PropType<"normal" | "card">;
        default: "normal" | "card";
        validator(val: "normal" | "card"): boolean;
    };
    value: {
        type: import("vue").PropType<TabValue>;
        default: any;
    };
    modelValue: {
        type: import("vue").PropType<TabValue>;
        default: any;
    };
    defaultValue: {
        type: import("vue").PropType<TabValue>;
    };
    onAdd: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: TabValue) => void>;
    onDragSort: import("vue").PropType<(context: import("./type").TabsDragSortContext) => void>;
    onRemove: import("vue").PropType<(options: {
        value: TabValue;
        index: number;
        e: MouseEvent;
    }) => void>;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    addable: BooleanConstructor;
    disabled: BooleanConstructor;
    dragSort: BooleanConstructor;
    list: {
        type: import("vue").PropType<import("./type").TdTabPanelProps[]>;
    };
    placement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
        default: "left" | "top" | "bottom" | "right";
        validator(val: "left" | "top" | "bottom" | "right"): boolean;
    };
    size: {
        type: import("vue").PropType<"medium" | "large">;
        default: "medium" | "large";
        validator(val: "medium" | "large"): boolean;
    };
    theme: {
        type: import("vue").PropType<"normal" | "card">;
        default: "normal" | "card";
        validator(val: "normal" | "card"): boolean;
    };
    value: {
        type: import("vue").PropType<TabValue>;
        default: any;
    };
    modelValue: {
        type: import("vue").PropType<TabValue>;
        default: any;
    };
    defaultValue: {
        type: import("vue").PropType<TabValue>;
    };
    onAdd: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onChange: import("vue").PropType<(value: TabValue) => void>;
    onDragSort: import("vue").PropType<(context: import("./type").TabsDragSortContext) => void>;
    onRemove: import("vue").PropType<(options: {
        value: TabValue;
        index: number;
        e: MouseEvent;
    }) => void>;
}>>, {
    value: TabValue;
    disabled: boolean;
    size: "medium" | "large";
    placement: "left" | "top" | "bottom" | "right";
    modelValue: TabValue;
    theme: "normal" | "card";
    dragSort: boolean;
    addable: boolean;
}>;
export default _default;
