import { LuxenElement } from '../../shared/luxen-element.js'; export type TabsVariant = 'enclosed' | 'line'; export type TabsOrientation = 'horizontal' | 'vertical'; /** Fired when the active tab changes. Bubbles; not composed. */ export declare class TabsChangeEvent extends Event { readonly index: number; readonly name: string | null; constructor(index: number, name: string | null); } interface TabsEventMap { change: TabsChangeEvent; } /** * @summary A tabs component that progressively enhances light DOM markup * with ARIA roles, keyboard navigation, and animated indicators. * * @example * ```html * *
* * *
*
Content 1
*
Content 2
*
* ``` * * @event change - Fired when the active tab changes. Bubbles. Properties: `index: number`, `name: string | null`. * * @cssproperty [--indicator-color=var(--l-color-text-primary)] - `line` variant: color of the active underline that slides under the selected tab. * @cssproperty [--indicator-thickness=2px] - `line` variant: thickness of the active underline. * @cssproperty [--track-color=var(--l-color-border)] - `line` variant: color of the static bottom border the tabs sit on. * @cssproperty [--track-thickness=1px] - `line` variant: thickness of the static bottom border. * * @customElement l-tabs */ export declare class Tabs extends LuxenElement { createRenderRoot(): this; private _initialized; private _setupTimer; private _instanceId; private _tablistEl; private _tabs; private _panels; private _resizeObserver; /** Visual variant. */ variant: TabsVariant; /** Index of the active tab (0-based). */ value: string; /** Stretch tabs to fill container width. */ fullWidth: boolean; /** Tab orientation. */ orientation: TabsOrientation; connectedCallback(): void; disconnectedCallback(): void; /** @returns true when setup ran or was already done; false to schedule a retry. */ private _trySetup; updated(changed: Map): void; private _setup; private _teardown; private _selectTab; private _updateIndicator; private _onClick; private _onKeyDown; } export interface Tabs { addEventListener(type: K, listener: (this: Tabs, ev: TabsEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: Tabs, ev: TabsEventMap[K]) => void, options?: boolean | EventListenerOptions): void; removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void; } export {}; //# sourceMappingURL=tabs.d.ts.map