///
import { type PropType, type CSSProperties, type ComponentPublicInstance, nextTick, type ExtractPropTypes } from 'vue';
import { type VXScrollInst } from 'vueuc';
import type { MaybeArray, ExtractPublicPropTypes } from '../../_utils';
import type { Addable, OnClose, OnBeforeLeave, TabsType, OnUpdateValue } from './interface';
export declare const tabsProps: {
readonly value: PropType;
readonly defaultValue: PropType;
readonly trigger: {
readonly type: PropType<"click" | "hover">;
readonly default: "click";
};
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 placement: {
readonly type: PropType<"left" | "right" | "top" | "bottom">;
readonly default: "top";
};
readonly tabStyle: PropType;
readonly tabClass: StringConstructor;
readonly addTabStyle: PropType;
readonly addTabClass: StringConstructor;
readonly barWidth: NumberConstructor;
readonly paneClass: StringConstructor;
readonly paneStyle: PropType;
readonly paneWrapperClass: StringConstructor;
readonly paneWrapperStyle: PropType;
readonly addable: PropType;
readonly tabsPadding: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly animated: BooleanConstructor;
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 type TabsProps = ExtractPublicPropTypes;
declare const _default: import("vue").DefineComponent<{
readonly value: PropType;
readonly defaultValue: PropType;
readonly trigger: {
readonly type: PropType<"click" | "hover">;
readonly default: "click";
};
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 placement: {
readonly type: PropType<"left" | "right" | "top" | "bottom">;
readonly default: "top";
};
readonly tabStyle: PropType;
readonly tabClass: StringConstructor;
readonly addTabStyle: PropType;
readonly addTabClass: StringConstructor;
readonly barWidth: NumberConstructor;
readonly paneClass: StringConstructor;
readonly paneStyle: PropType;
readonly paneWrapperClass: StringConstructor;
readonly paneWrapperStyle: PropType;
readonly addable: PropType;
readonly tabsPadding: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly animated: BooleanConstructor;
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").Ref;
mergedValue: import("vue").ComputedRef;
renderedNames: Set>;
segmentCapsuleElRef: import("vue").Ref;
tabsPaneWrapperRef: import("vue").Ref;
tabsElRef: import("vue").Ref;
barElRef: import("vue").Ref;
addTabInstRef: import("vue").Ref;
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 any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions | undefined): import("vue").WatchStopHandle;
} & Omit<{}, never> & 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<(entry: ResizeObserverEntry) => 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-size': string;
'--n-close-icon-size': string;
'--n-close-color-hover': string;
'--n-close-color-pressed': string;
'--n-close-border-radius': string;
'--n-close-icon-color': string;
'--n-close-icon-color-hover': string;
'--n-close-icon-color-pressed': string;
'--n-tab-color': string;
'--n-tab-font-weight': string;
'--n-tab-font-weight-active': string;
'--n-tab-padding': string;
'--n-tab-padding-vertical': string;
'--n-tab-gap': string;
'--n-tab-gap-vertical': string;
'--n-pane-padding-left': string;
'--n-pane-padding-right': string;
'--n-pane-padding-top': string;
'--n-pane-padding-bottom': string;
'--n-font-weight-strong': string;
'--n-tab-color-segment': string;
}> | undefined;
themeClass: import("vue").Ref | undefined;
animationDirection: import("vue").Ref<"next" | "prev">;
renderNameListRef: {
value: Array;
};
yScrollElRef: import("vue").Ref;
onAnimationBeforeLeave: (el: HTMLElement) => void;
onAnimationEnter: (el: HTMLElement) => void;
onAnimationAfterEnter: () => void;
onRender: (() => void) | undefined;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly;
readonly defaultValue: PropType;
readonly trigger: {
readonly type: PropType<"click" | "hover">;
readonly default: "click";
};
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 placement: {
readonly type: PropType<"left" | "right" | "top" | "bottom">;
readonly default: "top";
};
readonly tabStyle: PropType;
readonly tabClass: StringConstructor;
readonly addTabStyle: PropType;
readonly addTabClass: StringConstructor;
readonly barWidth: NumberConstructor;
readonly paneClass: StringConstructor;
readonly paneStyle: PropType;
readonly paneWrapperClass: StringConstructor;
readonly paneWrapperStyle: PropType;
readonly addable: PropType;
readonly tabsPadding: {
readonly type: NumberConstructor;
readonly default: 0;
};
readonly animated: BooleanConstructor;
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>>;
}>>, {
readonly type: TabsType;
readonly size: "small" | "medium" | "large";
readonly closable: boolean;
readonly placement: "left" | "right" | "top" | "bottom";
readonly trigger: "click" | "hover";
readonly animated: boolean;
readonly tabsPadding: number;
}, {}>;
export default _default;