import { VNode, DefineComponent, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { TabItem, TabsProps, TabsType, TabsPosition, TabsBeforeLeave } from './tabs.js';
declare function scrollToActiveTab(): Promise<void>;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: Readonly<{
        default?: () => VNode[];
        "add-icon"?: () => VNode;
    }> & {
        default?: () => VNode[];
        "add-icon"?: () => VNode;
    };
    refs: {
        navScrollRef: HTMLDivElement;
        navRef: HTMLDivElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: DefineComponent<TabsProps, {
    currentName: Ref<string, string>;
    scrollToActiveTab: typeof scrollToActiveTab;
}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    change: (value: string) => any;
    edit: (key: string | undefined, action: "add" | "remove") => any;
    "update:modelValue": (value: string) => any;
    tabClick: (key: string, event: KeyboardEvent | MouseEvent) => any;
    tabRemove: (key: string) => any;
    tabAdd: () => any;
}, string, PublicProps, Readonly<TabsProps> & Readonly<{
    onChange?: ((value: string) => any) | undefined;
    onEdit?: ((key: string | undefined, action: "add" | "remove") => any) | undefined;
    "onUpdate:modelValue"?: ((value: string) => any) | undefined;
    onTabClick?: ((key: string, event: KeyboardEvent | MouseEvent) => any) | undefined;
    onTabRemove?: ((key: string) => any) | undefined;
    onTabAdd?: (() => any) | undefined;
}>, {
    modelValue: string;
    type: TabsType;
    closable: boolean;
    stretch: boolean;
    tabindex: string | number;
    items: TabItem[];
    editable: boolean;
    defaultValue: string;
    tabPosition: TabsPosition;
    addable: boolean;
    beforeLeave: TabsBeforeLeave;
}, {}, {}, {}, string, ComponentProvideOptions, false, {
    navScrollRef: HTMLDivElement;
    navRef: HTMLDivElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
