import { Component, ComponentElement } from 'react'; import type { ViewOwnProps } from '@instructure/ui-view/v11_6'; import { Focusable } from '@instructure/ui-focusable'; import { Tab } from './Tab'; import { Panel } from './Panel'; import type { TabsProps, TabsState } from './props'; import type { TabsTabProps } from './Tab/props'; import type { TabsPanelProps } from './Panel/props'; type TabChild = ComponentElement; type PanelChild = ComponentElement; /** --- category: components --- **/ declare class Tabs extends Component { static readonly componentId = "Tabs"; static allowedProps: readonly (keyof { children?: React.ReactNode; variant?: "default" | "secondary"; screenReaderLabel?: string; onRequestTabChange?: (event: React.MouseEvent | React.KeyboardEvent, tabData: { index: number; id?: string; }) => void; maxWidth?: string | number; maxHeight?: string | number; minHeight?: string | number; fixHeight?: string | number; margin?: import("@instructure/emotion").Spacing; padding?: import("@instructure/emotion").Spacing; textAlign?: "start" | "center" | "end"; elementRef?: (element: Element | null) => void; tabOverflow?: "stack" | "scroll"; shouldFocusOnRender?: boolean; })[]; static defaultProps: { variant: string; shouldFocusOnRender: boolean; tabOverflow: string; }; static Panel: typeof Panel; static Tab: typeof Tab; private _tabList; private _focusable; private _tabListPosition?; private _debounced?; private _resizeListener?; ref: Element | null; handleRef: (el: Element | null) => void; constructor(props: TabsProps); componentDidMount(): void; componentDidUpdate(prevProps: TabsProps, prevState: TabsState): void; componentWillUnmount(): void; startScrollOverflow(): void; cancelScrollOverflow(): void; getOverlayWidth(): number; showActiveTabIfOverlayed(activeTabEl: Element | null): void; handleTabClick: TabsTabProps['onClick']; handleTabKeyDown: TabsTabProps['onKeyDown']; handleResize: () => void; getNextTab(startIndex: number, step: -1 | 0 | 1): { index: number; id?: string; }; fireOnChange(event: React.MouseEvent | React.KeyboardEvent, { index, id }: { index: number; id?: string; }): void; createTab(index: number, generatedId: string, selected: boolean, panel: PanelChild): TabChild; clonePanel(index: number, generatedId: string, selected: boolean, panel: PanelChild, activePanel?: PanelChild): PanelChild; handleFocusableRef: (el: Focusable | null) => void; handleTabListRef: (el: Element | null) => void; focus(): void; handleScroll: (event: React.UIEvent & React.UIEvent) => void; render(): import("@emotion/react/jsx-runtime").JSX.Element; } export default Tabs; export { Tabs, Panel }; //# sourceMappingURL=index.d.ts.map