import { ComputedRef, Ref } from 'vue'; import { MotionControlEmits, MotionControlItem, MotionControlProps, MotionControlValue } from './types'; interface ClosingTab { item: MotionControlItem; index: number; style: Record; } interface MotionControlTabListOptions { props: Readonly & Required>; root: Ref; motion: ComputedRef; value: ComputedRef; setValue: (value: MotionControlValue) => void; emit: MotionControlEmits; } /** * Owns the closeable tab list, not its renderer or selection model. * Model events remain immediate; measured leaving tabs only preserve exit geometry. * The control resets exits in its existing variant and motion watchers. */ export declare function useMotionControlTabList({ props, root, motion, value, setValue, emit }: MotionControlTabListOptions): { closingTabs: Ref<{ item: { value: string | number; label: string; disabled?: boolean | undefined; icon?: string | undefined; description?: string | undefined; closable?: boolean | undefined; danger?: boolean | undefined; children?: /*elided*/ any[] | undefined; }; index: number; style: Record; }[], ClosingTab[] | { item: { value: string | number; label: string; disabled?: boolean | undefined; icon?: string | undefined; description?: string | undefined; closable?: boolean | undefined; danger?: boolean | undefined; children?: /*elided*/ any[] | undefined; }; index: number; style: Record; }[]>; displayedTabs: ComputedRef; closeTab: (item: MotionControlItem) => void; closingTab: (item: MotionControlItem) => { item: { value: string | number; label: string; disabled?: boolean | undefined; icon?: string | undefined; description?: string | undefined; closable?: boolean | undefined; danger?: boolean | undefined; children?: /*elided*/ any[] | undefined; }; index: number; style: Record; } | undefined; finishClosingTab: (event: AnimationEvent, item: MotionControlItem) => void; addTab: () => void; }; export {};