import type { VNode } from 'vue';
import type TTabPanel from './tab-panel';
import type { TdTabsProps } from './type';
declare const _default: import("vue/types/vue").ExtendedVue<{
    classPrefix: string;
    componentName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    useGlobalIcon(tdIcon: Record<string, any>): import("@ldesign/icons-vue").GlobalIconConfig;
}, {
    scrollLeft: number;
    canToLeft: boolean;
    canToRight: boolean;
    navBarStyle: {};
}, {
    calculateCanShowArrow(): void;
    calculateCanToLeft(): void;
    calculateCanToRight(): void;
    calculateNavBarStyle(): void;
    calculateMountedScrollLeft(): void;
    watchDomChange(): void;
    resetScrollPosition(): void;
    handleScrollToLeft(): void;
    handleScrollToRight(): void;
    shouldMoveToLeftSide(activeTabEl: HTMLElement): boolean;
    shouldMoveToRightSide(activeTabEl: HTMLElement): boolean;
    moveActiveTabIntoView({ needCheckUpdate }?: {
        needCheckUpdate: boolean;
    }): boolean;
    fixIfLastItemNotTouchRightSide(containerWidth: number, wrapWidth: number): boolean;
    fixIfItemTotalWidthIsLessThenContainerWidth(containerWidth: number, wrapWidth: number): boolean;
    fixScrollLeft(): boolean;
    handleAddTab(e: MouseEvent): void;
    tabClick(event: MouseEvent, nav: Partial<InstanceType<typeof TTabPanel>>): false;
    removeBtnClick({ e, value, index }: Parameters<TdTabsProps['onRemove']>[0]): void;
    renderArrows(): JSX.Element[];
    renderNavs(): JSX.Element;
    renderNavBar(): JSX.Element;
}, {
    navs: VNode[];
    wrapTransformStyle: {
        [key: string]: string;
    };
    dataCanUpdateNavBarStyle: any[];
    dataCanUpdateArrow: any[];
    iconBaseClass: {
        [key: string]: boolean;
    };
    leftIconClass: {
        [key: string]: boolean;
    };
    rightIconClass: {
        [key: string]: boolean;
    };
    addIconClass: {
        [key: string]: boolean;
    };
    navContainerClass: {
        [key: string]: boolean;
    };
    navScrollContainerClass: {
        [key: string]: boolean;
    };
    navsWrapClass: (string | {
        [key: string]: boolean;
    })[];
    navBarClass: string[];
    navsContainerStyle: object;
}, {
    theme: "normal" | "card";
    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: import("./type").TabValue;
        onRemove: (options: {
            value: import("./type").TabValue;
            e: MouseEvent;
        }) => void;
    } & {
        classPrefix: string;
        componentName: string;
        commonSizeClassName: Record<string, string>;
        commonStatusClassName: Record<string, string>;
    } & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & import("./tab-panel").TabPanel, object, object, object, Record<never, any>>[];
    value: import("./type").TabValue;
    placement: "left" | "top" | "bottom" | "right";
    size: "medium" | "large";
    disabled: boolean;
    addable: boolean;
}>;
export default _default;
