import React from 'react'; import TabIndicator from '@material/react-tab-indicator'; import { MDCTabFoundation } from '@material/tab/foundation'; import { MDCTabAdapter } from '@material/tab/adapter'; import TabRipple, { TabRippleProps } from './TabRipple'; export interface TabProps extends React.HTMLProps { active?: boolean; focusOnActivate?: boolean; isFadingIndicator?: boolean; indicatorContent?: React.ReactNode; minWidth?: boolean; isMinWidthIndicator?: boolean; stacked?: boolean; tag?: 'button' | 'a'; previousIndicatorClientRect?: ClientRect; onInteraction?: () => void; } interface MDCTabElementAttributes { 'aria-selected'?: 'false' | 'true'; tabIndex?: number; } interface TabState extends MDCTabElementAttributes { classList: Set; activateIndicator: boolean; previousIndicatorClientRect?: ClientRect; } export default class Tab extends React.Component { foundation: MDCTabFoundation; tabRef: React.RefObject; tabContentRef: React.RefObject; tabIndicatorRef: React.RefObject; tabRippleRef: React.RefObject; static defaultProps: Partial; state: TabState; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: TabProps): void; readonly classes: string; readonly adapter: MDCTabAdapter; activate(computeIndicatorClientRect?: ClientRect): void; deactivate(): void; computeIndicatorClientRect: () => ClientRect; computeDimensions: () => import("@material/tab/types").MDCTabDimensions; focus: () => void; onFocus: (e: React.FocusEvent) => void; onBlur: (e: React.FocusEvent) => void; render(): JSX.Element; renderIndicator(): JSX.Element; } export { TabRipple, Tab, TabRippleProps };