import { EventEmitter } from "../../stencil-public-runtime"; import { IcActivationTypes, IcThemeMode } from "../../utils/types"; import { IcTabClickEventDetail, IcTabSelectEventDetail } from "../ic-tab/ic-tab.types"; export declare class TabContext { private enabledTabs; private focusedTabIndex; private newTabPanels; private newTabs; private tabs; private tabGroup; private tabPanels; el: HTMLIcTabContextElement; selectedTab: number | null; /** * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation. */ activationType?: IcActivationTypes; /** * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel. */ contextId?: string; /** * The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection. */ selectedTabIndex?: number; updateSelectedTab(newValue: number): void; /** * If `true`, the tabs will display as black in the light theme. */ monochrome?: boolean; watchMonochromeHandler(): void; /** * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component. */ theme?: IcThemeMode; watchThemeHandler(): void; /** * Emitted when a user selects a tab. */ icTabSelect: EventEmitter; componentDidLoad(): void; componentWillUpdate(): void; disconnectedCallback(): void; tabClickHandler(event: CustomEvent): void; tabCreatedHandler(ev: CustomEvent): void; tabEnabledHandler(): void; /** * Sets focus on the tab context. */ setFocus(): Promise; /** * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed */ tabRemovedHandler(hadFocus?: boolean): Promise; /** Sets attributes to link tab-group, tabs and tab-panels */ private linkTabs; /** * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host */ private getChildren; private keydownHandler; /** Sets the tab that is selected on initial render */ private setInitialTab; /** Passes the selected tab to the tab and tab panel components */ private configureTabs; private getEnabledTabs; /** Sets focus on tab and selects it */ private keyboardSelectTab; /** Sets focus on tab without selecting it (for manual activation) */ private keyboardFocusTab; render(): any; }