import Vue, { VNode } from 'vue';
import { TabValue, TdTabsProps } from './type';
interface TabVue extends Vue {
    listPanels?: Array<VNode>;
}
declare const _default: import("vue/types/vue").ExtendedVue<TabVue, {
    panels: import("vue/types/vue").CombinedVueInstance<{
        active: boolean;
    } & {
        default: (h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue;
        destroyOnHide: boolean;
        disabled: boolean;
        label: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        panel: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
        removable: boolean;
        value: TabValue;
        onRemove: (options: {
            value: TabValue;
            e: MouseEvent;
        }) => void;
    } & Vue, object, object, object, Record<never, any>>[];
}, {
    updatePanels(): void;
    onAddTab(e: MouseEvent): void;
    onChangeTab(value: TabValue): void;
    onRemoveTab({ e, value, index }: Parameters<TdTabsProps['onRemove']>[0]): void;
    renderHeader(): JSX.Element;
    createListPanels(): JSX.Element[];
    renderList(): VNode[];
    renderContent(): JSX.Element;
}, unknown, {
    addable: boolean;
    disabled: boolean;
    list: import("./type").TdTabPanelProps[];
    placement: "left" | "top" | "bottom" | "right";
    size: "medium" | "large";
    theme: "normal" | "card";
    value: TabValue;
    defaultValue: TabValue;
    onAdd: (context: {
        e: MouseEvent;
    }) => void;
    onChange: (value: TabValue) => void;
    onRemove: (options: {
        value: TabValue;
        index: number;
        e: MouseEvent;
    }) => void;
}>;
export default _default;
