///
import { PropType, CSSProperties, ComponentPublicInstance, nextTick, ExtractPropTypes } from 'vue';
import { VXScrollInst } from 'vueuc';
import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
import type { Addable, OnClose, OnBeforeLeave, TabsType, OnUpdateValue } from './interface';
declare const tabsProps: {
readonly value: PropType;
readonly defaultValue: PropType;
readonly type: {
readonly type: PropType;
readonly default: "bar";
};
readonly closable: BooleanConstructor;
readonly justifyContent: PropType<"start" | "end" | "space-around" | "space-between" | "space-evenly" | "center">;
readonly size: {
readonly type: PropType<"small" | "medium" | "large">;
readonly default: "medium";
};
readonly tabStyle: PropType;
readonly barWidth: NumberConstructor;
readonly paneClass: StringConstructor;
readonly paneStyle: PropType;
readonly addable: PropType;
readonly tabsPadding: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly onBeforeLeave: PropType;
readonly onAdd: PropType<() => void>;
readonly 'onUpdate:value': PropType>;
readonly onUpdateValue: PropType>;
readonly onClose: PropType>;
readonly labelSize: PropType<"small" | "medium" | "large">;
readonly activeName: PropType;
readonly onActiveNameChange: PropType void>>;
readonly theme: PropType>;
readonly themeOverrides: PropType>>;
readonly builtinThemeOverrides: PropType>>;
};
export declare type TabsProps = ExtractPublicPropTypes;
declare const _default: import("vue").DefineComponent<{
readonly value: PropType;
readonly defaultValue: PropType;
readonly type: {
readonly type: PropType;
readonly default: "bar";
};
readonly closable: BooleanConstructor;
readonly justifyContent: PropType<"start" | "end" | "space-around" | "space-between" | "space-evenly" | "center">;
readonly size: {
readonly type: PropType<"small" | "medium" | "large">;
readonly default: "medium";
};
readonly tabStyle: PropType;
readonly barWidth: NumberConstructor;
readonly paneClass: StringConstructor;
readonly paneStyle: PropType;
readonly addable: PropType;
readonly tabsPadding: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly onBeforeLeave: PropType;
readonly onAdd: PropType<() => void>;
readonly 'onUpdate:value': PropType>;
readonly onUpdateValue: PropType>;
readonly onClose: PropType>;
readonly labelSize: PropType<"small" | "medium" | "large">;
readonly activeName: PropType;
readonly onActiveNameChange: PropType void>>;
readonly theme: PropType>;
readonly themeOverrides: PropType>>;
readonly builtinThemeOverrides: PropType>>;
}, {
syncBarPosition: () => void;
mergedClsPrefix: import("vue").ComputedRef;
mergedValue: import("vue").ComputedRef;
renderedNames: Set;
tabsElRef: import("vue").Ref;
barElRef: import("vue").Ref;
addTabInstRef: import("vue").Ref> | null>;
xScrollInstRef: import("vue").Ref<(VXScrollInst & {
$: import("vue").ComponentInternalInstance;
$data: {};
$props: {};
$attrs: {
[x: string]: unknown;
};
$refs: {
[x: string]: unknown;
};
$slots: Readonly<{
[name: string]: import("vue").Slot | undefined;
}>;
$root: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null;
$parent: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null;
$emit: (event: string, ...args: any[]) => void;
$el: any;
$options: import("vue").ComponentOptionsBase & {
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
created?: ((() => void) | (() => void)[]) | undefined;
beforeMount?: ((() => void) | (() => void)[]) | undefined;
mounted?: ((() => void) | (() => void)[]) | undefined;
beforeUpdate?: ((() => void) | (() => void)[]) | undefined;
updated?: ((() => void) | (() => void)[]) | undefined;
activated?: ((() => void) | (() => void)[]) | undefined;
deactivated?: ((() => void) | (() => void)[]) | undefined;
beforeDestroy?: ((() => void) | (() => void)[]) | undefined;
beforeUnmount?: ((() => void) | (() => void)[]) | undefined;
destroyed?: ((() => void) | (() => void)[]) | undefined;
unmounted?: ((() => void) | (() => void)[]) | undefined;
renderTracked?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
renderTriggered?: (((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[]) | undefined;
errorCaptured?: (((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase> | null, info: string) => boolean | void)[]) | undefined;
};
$forceUpdate: () => void;
$nextTick: typeof nextTick;
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle;
} & import("vue").ShallowUnwrapRef<{}> & {} & {} & import("vue").ComponentCustomProperties) | null>;
scrollWrapperElRef: import("vue").Ref;
addTabFixed: import("vue").Ref;
tabWrapperStyle: import("vue").ComputedRef<{
display: string;
justifyContent: "start" | "end" | "space-around" | "space-between" | "space-evenly" | "center";
} | undefined>;
handleNavResize: import("lodash").DebouncedFunc<() => void>;
mergedSize: import("vue").ComputedRef<"small" | "medium" | "large">;
handleScroll: import("lodash").DebouncedFunc<(e: Event) => void>;
handleTabsResize: import("lodash").DebouncedFunc<(entry: ResizeObserverEntry) => void>;
cssVars: import("vue").ComputedRef<{
'--n-bezier': string;
'--n-color-segment': string;
'--n-bar-color': string;
'--n-tab-font-size': string;
'--n-tab-text-color': string;
'--n-tab-text-color-active': string;
'--n-tab-text-color-disabled': string;
'--n-tab-text-color-hover': string;
'--n-pane-text-color': string;
'--n-tab-border-color': string;
'--n-tab-border-radius': string;
'--n-close-color': string;
'--n-close-color-hover': string;
'--n-close-color-pressed': string;
'--n-tab-color': string;
'--n-tab-font-weight': string;
'--n-tab-font-weight-active': string;
'--n-tab-padding': string;
'--n-tab-gap': string;
'--n-pane-padding': string;
'--n-font-weight-strong': string;
'--n-tab-color-segment': string;
}> | undefined;
themeClass: import("vue").Ref | undefined;
onRender: (() => void) | undefined;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly;
readonly defaultValue: PropType;
readonly type: {
readonly type: PropType;
readonly default: "bar";
};
readonly closable: BooleanConstructor;
readonly justifyContent: PropType<"start" | "end" | "space-around" | "space-between" | "space-evenly" | "center">;
readonly size: {
readonly type: PropType<"small" | "medium" | "large">;
readonly default: "medium";
};
readonly tabStyle: PropType;
readonly barWidth: NumberConstructor;
readonly paneClass: StringConstructor;
readonly paneStyle: PropType;
readonly addable: PropType;
readonly tabsPadding: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly onBeforeLeave: PropType;
readonly onAdd: PropType<() => void>;
readonly 'onUpdate:value': PropType>;
readonly onUpdateValue: PropType>;
readonly onClose: PropType>;
readonly labelSize: PropType<"small" | "medium" | "large">;
readonly activeName: PropType;
readonly onActiveNameChange: PropType void>>;
readonly theme: PropType>;
readonly themeOverrides: PropType>>;
readonly builtinThemeOverrides: PropType>>;
}>>, {
type: TabsType;
size: "small" | "medium" | "large";
closable: boolean;
tabsPadding: number;
}>;
export default _default;