import React from 'react';
import type { TGetRootNode } from '../../lib/rootNode/index.js';
import type { TabsContextType } from './TabsContext.js';
export interface IndicatorProps {
    className?: string;
    tabUpdates: {
        on: (x0: () => void) => () => void;
    };
    vertical: boolean;
}
export interface IndicatorState {
    styles: React.CSSProperties;
}
export declare class Indicator extends React.Component<IndicatorProps, IndicatorState> {
    static contextType: React.Context<TabsContextType<any>>;
    context: TabsContextType;
    state: IndicatorState;
    private globalObject;
    private emotion;
    private cx;
    private styles;
    private theme;
    private eventListener;
    private removeTabUpdatesListener;
    getRootNode: TGetRootNode;
    private setRootNode;
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(): void;
    render(): React.JSX.Element;
    private renderMain;
    private reflow;
    private getStyles;
}
