import { TabsOptions } from './tabs.types'; /** * Headless tabs controller. Wires ARIA `tablist`/`tab`/`tabpanel`, roving * tabindex, arrow-key navigation and selection to existing markup; it never * applies visual styles. * * Markup: * ```html *
*
* * *
*
Panel A
*
Panel B
*
* ``` */ export declare class Tabs { private readonly root; private readonly list; private readonly orientation; private readonly activationMode; private tabs; private selected; private cleanups; constructor(root: HTMLElement, options?: TabsOptions); private collect; private init; private currentIndex; private onKeydown; private render; private emit; /** Select a tab by value. No-op if already selected or value is unknown. */ select(value: string): void; get value(): string; /** Subscribe to a DOM event on the root element. Returns an unsubscribe fn. */ on(event: string, handler: (event: E) => void): () => void; destroy(): void; }