import { EventEmitter } from '../../stencil-public-runtime'; /** * Tabs are used to display multiple panels to be contained within a single * window, using tabs as a navigational element. * * @part tab - The header of the tab. * @part more - An optional more button to display additional tabs. */ export declare class CatTabs { private mutationObserver?; private moreDropdown?; private moreButton?; private readonly resizedObserver; hostElement: HTMLElement; tabs: HTMLCatTabElement[]; hiddenTabs: HTMLCatTabElement[]; /** * The ID of the active tab. */ activeTab: string; /** * The alignment of the tabs. */ tabsAlign: 'left' | 'center' | 'right' | 'justify'; /** * Whether the visible items change according to the available space. A 'More' button is used to reveal hidden items. */ adaptive: boolean; /** * Whether the active tab should always be visible. Applied when adaptive is enabled. * Has less priority than sticky if there is no space to show both. */ activeTabAlwaysVisible: boolean; componentWillLoad(): void; componentDidLoad(): void; disconnectedCallback(): void; onActiveTabChange(id: string): void; onKeydown(event: KeyboardEvent): void; /** * Activates the tab with the given id. * * @param id The tab id. */ setActive(id: string): Promise; /** * Activates the tab with the given index. * * @param index The tab index. */ setActiveIndex(index: number): Promise; /** * Recalculates visible and hidden adaptive tabs. */ updateAdaptiveTabs(): Promise; /** * Emitted when active tab is changed. */ catChange: EventEmitter<{ id: string; index: number; fromDropdown: boolean; }>; render(): any; private adjustAdaptiveTabs; private syncTabs; private click; private activate; private canActivate; }