import { CSSResultGroup, PropertyValues, TemplateResult, LitElement } from 'lit'; export interface InterfaceSbbTabGroupActions { activate(): void; deactivate(): void; enable(): void; disable(): void; select(): void; } export interface InterfaceSbbTabGroupTab extends HTMLElement { active?: boolean; disabled?: boolean; relatedContent?: HTMLElement; index?: number; tabGroupActions?: InterfaceSbbTabGroupActions; size: 'l' | 'xl'; } /** * It displays one or more tab, each one with a title and a content. * * @slot - Use the unnamed slot to add html-content to the `sbb-tab-group`. * Wrap the content in a `div`, a `section`, an `article` or provide a nested `sbb-tab-group`: * This is correct: `
Some text

Some other text

` * This is not correct: `Some text

Some other text

` * @slot tab-bar - When you provide the `sbb-tab-title` tag through the unnamed slot, * it will be automatically moved to this slot. You do not need to use it directly. * @event {CustomEvent} didChange - Emits an event on selected tab change */ export declare class SbbTabGroupElement extends LitElement { static styles: CSSResultGroup; static readonly events: { readonly didChange: "didChange"; }; private _tabs; private _selectedTab?; private _tabGroupElement; private _tabContentElement; private _abort; private _tabAttributeObserver; private _tabGroupResizeObserver; private _tabContentResizeObserver; /** * Size variant, either l or xl. */ set size(value: InterfaceSbbTabGroupTab['size']); get size(): InterfaceSbbTabGroupTab['size']; private _size; /** * Sets the initial tab. If it matches a disabled tab or exceeds the length of * the tab group, the first enabled tab will be selected. */ initialSelectedIndex: number; private _updateSize; /** * Emits an event on selected tab change */ private _selectedTabChanged; /** * Disables a tab by index. * @param tabIndex The index of the tab you want to disable. */ disableTab(tabIndex: number): void; /** * Enables a tab by index. * @param tabIndex The index of the tab you want to enable. */ enableTab(tabIndex: number): void; /** * Activates a tab by index. * @param tabIndex The index of the tab you want to activate. */ activateTab(tabIndex: number): void; private _getTabs; private get _enabledTabs(); connectedCallback(): void; protected firstUpdated(changedProperties: PropertyValues): void; disconnectedCallback(): void; private _onContentSlotChange; private _onTabsSlotChange; private _assignId; private _initSelection; private _onTabAttributesChange; private _onTabGroupElementResize; private _onTabContentElementResize; private _configure; private _handleKeyDown; protected render(): TemplateResult; } declare global { interface HTMLElementTagNameMap { 'sbb-tab-group': SbbTabGroupElement; } } //# sourceMappingURL=tab-group.d.ts.map