import { h } from 'vue';
import TTabPanel from './tab-panel';
declare const _default: import("vue").DefineComponent<{
    theme: {
        type: import("vue").PropType<"normal" | "card">;
        default: "normal" | "card";
        validator(val: "normal" | "card"): boolean;
    };
    panels: {
        type: new () => Array<InstanceType<typeof TTabPanel>>;
        default: () => Array<InstanceType<typeof TTabPanel>>;
    };
    value: {
        type: import("vue").PropType<import("./type").TabValue>;
        default: import("./type").TabValue;
    };
    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;
    };
    disabled: BooleanConstructor;
    addable: BooleanConstructor;
    onChange: import("vue").PropType<(value: import("./type").TabValue) => void>;
    onAdd: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onRemove: import("vue").PropType<(options: {
        value: import("./type").TabValue;
        index: number;
        e: MouseEvent;
    }) => void>;
    dragSort: BooleanConstructor;
    onDragSort: import("vue").PropType<(context: import("./type").TabsDragSortContext) => void>;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    theme: {
        type: import("vue").PropType<"normal" | "card">;
        default: "normal" | "card";
        validator(val: "normal" | "card"): boolean;
    };
    panels: {
        type: new () => Array<InstanceType<typeof TTabPanel>>;
        default: () => Array<InstanceType<typeof TTabPanel>>;
    };
    value: {
        type: import("vue").PropType<import("./type").TabValue>;
        default: import("./type").TabValue;
    };
    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;
    };
    disabled: BooleanConstructor;
    addable: BooleanConstructor;
    onChange: import("vue").PropType<(value: import("./type").TabValue) => void>;
    onAdd: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onRemove: import("vue").PropType<(options: {
        value: import("./type").TabValue;
        index: number;
        e: MouseEvent;
    }) => void>;
    dragSort: BooleanConstructor;
    onDragSort: import("vue").PropType<(context: import("./type").TabsDragSortContext) => void>;
}>>, {
    value: import("./type").TabValue;
    disabled: boolean;
    size: "medium" | "large";
    theme: "normal" | "card";
    placement: "left" | "top" | "bottom" | "right";
    dragSort: boolean;
    panels: ({
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: {
            draggable?: boolean;
            disabled?: boolean;
            destroyOnHide?: boolean;
            removable?: boolean;
            readonly default?: (h: typeof h) => import("..").SlotReturnValue;
            key?: string | number | symbol;
            readonly value?: import("./type").TabValue;
            readonly label?: string | ((h: typeof h) => import("..").SlotReturnValue);
            style?: unknown;
            class?: unknown;
            ref?: import("vue").VNodeRef;
            ref_for?: boolean;
            ref_key?: string;
            onVnodeBeforeMount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeMounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUpdate?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUpdated?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>, oldVNode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeBeforeUnmount?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            onVnodeUnmounted?: ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void) | ((vnode: import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
                [key: string]: any;
            }>) => void)[];
            readonly onRemove?: (options: {
                value: import("./type").TabValue;
                e: MouseEvent;
            }) => void;
            readonly panel?: string | ((h: typeof h) => import("..").SlotReturnValue);
        };
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot<any>;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>;
        $emit: (event: string, ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            default: {
                type: import("vue").PropType<(h: typeof h) => import("..").SlotReturnValue>;
            };
            destroyOnHide: {
                type: BooleanConstructor;
                default: boolean;
            };
            disabled: BooleanConstructor;
            draggable: {
                type: BooleanConstructor;
                default: boolean;
            };
            label: {
                type: import("vue").PropType<string | ((h: typeof h) => import("..").SlotReturnValue)>;
            };
            panel: {
                type: import("vue").PropType<string | ((h: typeof h) => import("..").SlotReturnValue)>;
            };
            removable: BooleanConstructor;
            value: {
                type: import("vue").PropType<import("./type").TabValue>;
            };
            onRemove: import("vue").PropType<(options: {
                value: import("./type").TabValue;
                e: MouseEvent;
            }) => void>;
        }>>, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {
            draggable: boolean;
            disabled: boolean;
            destroyOnHide: boolean;
            removable: boolean;
        }, {}, string, {}> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string, {}>, {}, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        default: {
            type: import("vue").PropType<(h: typeof h) => import("..").SlotReturnValue>;
        };
        destroyOnHide: {
            type: BooleanConstructor;
            default: boolean;
        };
        disabled: BooleanConstructor;
        draggable: {
            type: BooleanConstructor;
            default: boolean;
        };
        label: {
            type: import("vue").PropType<string | ((h: typeof h) => import("..").SlotReturnValue)>;
        };
        panel: {
            type: import("vue").PropType<string | ((h: typeof h) => import("..").SlotReturnValue)>;
        };
        removable: BooleanConstructor;
        value: {
            type: import("vue").PropType<import("./type").TabValue>;
        };
        onRemove: import("vue").PropType<(options: {
            value: import("./type").TabValue;
            e: MouseEvent;
        }) => void>;
    }>> & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & import("vue").ComponentCustomProperties & {})[];
    addable: boolean;
}, {}>;
export default _default;
