import { LitElement } from 'lit'; /** * Tabs container component for organizing content into multiple panels * * @element ui-tabs * * @slot tab - Slot for tab buttons * @slot - Default slot for tab panels * * @fires tab-change - Dispatched when active tab changes * * @csspart tabs-header - The tabs header container * @csspart tabs-content - The tabs content container */ export declare class UITabs extends LitElement { static styles: import("lit").CSSResult; selected: number; /** * Orientation of the tabs: 'horizontal' or 'vertical' */ orientation: 'horizontal' | 'vertical'; /** * Variant style: 'line', 'pills', or 'boxed' */ variant: 'line' | 'pills' | 'boxed'; /** * Enable lazy loading of tab panels */ lazy: boolean; /** * Enable scroll arrows when tabs overflow their container */ scrollable: boolean; private _showScrollStart; private _showScrollEnd; private _resizeObserver?; private tabs; private panels; private loadedPanels; private navigator?; private tabsId; private tablistId; connectedCallback(): void; disconnectedCallback(): void; firstUpdated(): void; private _setupOverflowDetection; private _checkOverflow; private _scrollTabs; private updateTabs; private handleTabClick; private handleKeyDown; private handleTabClose; private selectTab; render(): import("lit-html").TemplateResult<1>; } /** * Tab button component * * @element ui-tab * * @slot icon - Icon slot * @slot - Default slot for tab label * @slot badge - Badge slot for notifications */ export declare class UITab extends LitElement { static styles: import("lit").CSSResult; active: boolean; panel: string; disabled: boolean; /** * Icon to display (emoji or text) */ icon: string; /** * Badge text/number to display */ badge: string; /** * Show close button */ closeable: boolean; /** * Variant style - set by parent UITabs */ variant: 'line' | 'pills' | 'boxed'; /** * Orientation - set by parent UITabs */ orientation: 'horizontal' | 'vertical'; private handleClick; private handleClose; render(): import("lit-html").TemplateResult<1>; } /** * Tab panel component - contains the content for each tab * * @element ui-tab-panel */ export declare class UITabPanel extends LitElement { static styles: import("lit").CSSResult; active: boolean; name: string; /** * Whether this panel has been loaded (for lazy loading) */ loaded: boolean; render(): import("lit-html").TemplateResult<1>; } declare global { interface HTMLElementTagNameMap { 'ui-tabs': UITabs; 'ui-tab': UITab; 'ui-tab-panel': UITabPanel; } } //# sourceMappingURL=tabs.d.ts.map