import { type PropType, type StyleValue } from 'vue'; import { type NodeRect } from '../utils'; export interface TabOption { rootStyle?: StyleValue; rootClass?: string; title?: string; name?: string | number; disabled?: boolean; } export interface TabsProps { rootStyle?: StyleValue; rootClass?: string; current?: string | number; list?: TabOption[]; type?: 'line' | 'pill' | 'card'; scrollable?: boolean; } export declare const tabsProps: { rootStyle: PropType; rootClass: StringConstructor; current: PropType; list: PropType; type: { type: PropType<"line" | "card" | "pill" | undefined>; default: string; }; scrollable: BooleanConstructor; }; export interface TabsSlots { default(props: Record): any; } export interface TabsEmits { (e: 'update:current', name: string | number): void; } export interface TabProps { rootStyle?: StyleValue; rootClass?: string; title?: string; name: string | number; disabled?: boolean; } export declare const tabProps: { rootStyle: PropType; rootClass: StringConstructor; title: StringConstructor; name: { type: PropType; required: true; }; disabled: BooleanConstructor; }; export interface TabSlots { default(props: Record): any; } export interface TabEmits { (e: 'click', event: any): void; } export interface TabContext { current: any; select: (name: string | number, rect?: NodeRect) => void; register: (name: string | number, expose: { getRect: () => Promise; }) => void; unregister: (name: string | number) => void; } export declare const tabContextSymbol: unique symbol;