import { LitElement } from 'lit'; export type TabsActivation = 'manual' | 'automatic'; export type TabsOrientation = 'horizontal' | 'vertical'; /** * Event detail for tab-change event */ export interface TabChangeEventDetail { activeTab: number; previousTab: number; } /** * Custom event dispatched when the active tab changes */ export type TabChangeEvent = CustomEvent; /** * Event map for Tabs component */ export interface TabsEventMap { 'tab-change': TabChangeEvent; } export declare class Tab extends LitElement { panel: string; disabled: boolean; constructor(); connectedCallback(): void; static styles: import('lit').CSSResult; render(): import('lit').TemplateResult<1>; } export declare class TabPanel extends LitElement { constructor(); connectedCallback(): void; static styles: import('lit').CSSResult; render(): import('lit').TemplateResult<1>; } /** * Props interface for Tabs component including event handlers * Use this type for framework integrations and Storybook */ export interface TabsProps { activation?: TabsActivation; activeTab?: number; orientation?: TabsOrientation; ariaLabel?: string; onTabChange?: (event: TabChangeEvent) => void; } /** * Tabs component for organizing content into multiple panels * * @fires {TabChangeEvent} tab-change - Fired when the active tab changes * * @example * ```html * * Tab 1 * Tab 2 * Content 1 * Content 2 * * ``` */ export declare class Tabs extends LitElement implements TabsProps { activation: TabsActivation; activeTab: number; orientation: TabsOrientation; ariaLabel: string; onTabChange?: (event: TabChangeEvent) => void; private _tabs; private _panels; private _focusedTab; constructor(); firstUpdated(): void; updated(changedProperties: Map): void; connectedCallback(): void; private _updateTabsAndPanels; private _handleKeyDown; private _handleClick; /** * Helper method to find the next non-disabled tab in a given direction * @param startIndex - The starting index * @param direction - 1 for forward, -1 for backward * @returns The index of the next non-disabled tab, or startIndex if none found */ private _findNextEnabledTab; /** * Helper method to find the first non-disabled tab from start * @param fromStart - If true, search from beginning; if false, search from end * @returns The index of the first non-disabled tab, or 0 if none found */ private _findFirstEnabledTab; private _setFocusedTab; private _activateTab; static styles: import('lit').CSSResult; render(): import('lit').TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ag-tabs': Tabs; 'ag-tab': Tab; 'ag-tab-panel': TabPanel; } } //# sourceMappingURL=_Tabs.d.ts.map