import { ReactElement } from 'react';
import { PureComponent } from '../component';
import { TabsProps, TabsBaseValue } from './Props';
import Panel from './Panel';
import Link from './Link';
interface TabsState {
    active: string | number;
    collapsed?: boolean;
}
declare class Tabs<T extends TabsBaseValue = TabsBaseValue> extends PureComponent<TabsProps<T>, TabsState> {
    static defaultProps: {
        defaultCollapsed: boolean;
        lazy: boolean;
        hideSplit: boolean;
    };
    container: HTMLDivElement | null;
    sticky: boolean;
    static Panel: typeof Panel;
    static Link: typeof Link;
    static displayName: string;
    constructor(props: TabsProps<T>);
    componentDidUpdate(prevProps: TabsProps<T>, prevState: TabsState): void;
    componentWillUnmount(): void;
    getAlign(): {
        align: string;
        isVertical: boolean;
    } | {
        align: "left" | "bottom" | "right" | "vertical-left" | "vertical-right" | undefined;
        isVertical: boolean | undefined;
    };
    getActive(): string | number | T | undefined;
    setStickyStatus(flag: boolean): void;
    bindContainer(node: HTMLDivElement): void;
    handleChange(active: T): void;
    handleCollapse(collapsed: boolean): void;
    renderHeader({ align, isVertical }: any): JSX.Element;
    renderContent(child: ReactElement & {
        type: {
            isTabPanel: boolean;
            isTabLink: boolean;
        };
    }, i: number): JSX.Element | null;
    render(): JSX.Element;
}
export default Tabs;
