export type TabMode = 'default' | 'single' | 'multi' | 'autoplay' | 'scroll'; export interface ParsedTabsConfig { mode: TabMode; isNone: boolean; } /** * Mode tokens recognised on `aa-tabs`. Autoplay is no longer a token here — * presence of `aa-autoplay` on the root activates autoplay mode (handled in * setupOne after parseAutoplay). */ export declare function parseTabsValue(raw: string | undefined): ParsedTabsConfig; export interface TabEntry { id: string; index: number; toggle: HTMLElement; content: HTMLElement | null; visual: HTMLElement | null; wrapper: HTMLElement | null; progress: HTMLElement | null; /** Toggle-level (or root-level) duration — used for the height tween. */ contentDuration: number; /** Visual cross-fade duration. */ visualDuration: number; /** Per-tab dwell for autoplay; only meaningful when mode === 'autoplay'. */ interval: number; ease: string; } export interface TabStateDefaults { duration: number; /** Default autoplay interval (seconds) inherited from root or init.autoplay.interval. */ interval: number; ease: string; } export interface TabState { root: HTMLElement; entries: TabEntry[]; byId: Map; useWrapperPattern: boolean; hasContent: boolean; hasVisualOnly: boolean; /** Status host for an entry — wrapper if present, else toggle. */ statusEl: (entry: TabEntry) => HTMLElement; isActive: (entry: TabEntry) => boolean; setStatus: (entry: TabEntry, status: 'active' | 'inactive') => void; activeEntry: () => TabEntry | null; initialEntry: () => TabEntry | null; } export declare function createTabState(root: HTMLElement, defaults: TabStateDefaults): TabState; export declare const TABS_STATUS_ATTR = "aa-tabs-status"; //# sourceMappingURL=state.d.ts.map