import { type Ref, type CSSProperties } from 'vue'; export type TabsType = 'line' | 'card' | 'bar' | 'segment'; export type OnUpdateValue = (value: string & number) => void; export type OnUpdateValueImpl = (value: string | number) => void; export type OnClose = (name: string & number) => void; export type OnCloseImpl = (name: string | number) => void; export type OnBeforeLeave = (name: string & number, oldName: string & number & null) => boolean | Promise; export type OnBeforeLeaveImpl = (name: string | number, oldName: string | number | null) => boolean | Promise; export interface TabsInjection { mergedClsPrefixRef: Ref; valueRef: Ref; typeRef: Ref; closableRef: Ref; tabStyleRef: Ref; tabClassRef: Ref; addTabClassRef: Ref; addTabStyleRef: Ref; paneClassRef: Ref; paneStyleRef: Ref; tabChangeIdRef: { id: number; }; onBeforeLeaveRef: Ref; triggerRef: Ref<'click' | 'hover'>; activateTab: (panelName: string | number) => void; handleClose: (panelName: string | number) => void; handleAdd: () => void; } export type Addable = boolean | { disabled?: boolean; }; export declare const tabsInjectionKey: import("vue").InjectionKey; export interface TabsInst { syncBarPosition: () => void; }