import { ReactNode, CSSProperties } from 'react';
import { BasicSizeType, BaseComponentAttributes } from '../utils/types';
import { LocaledComponentProps } from '../locale';
export interface LocaleType {
    more?: string;
}
type Shape = 'normal' | 'capsule';
type ActiveLineType = 'normal' | 'narrow';
export interface TabContextProps {
    activeKey: string | number;
    change: (key: string | number) => void;
    shape: Shape;
    activeLineType?: ActiveLineType;
    children?: any;
    fullWidth?: boolean;
}
export interface TabItemProps extends Omit<BaseComponentAttributes, 'title'> {
    key?: any;
    title?: ReactNode;
    icon?: string;
    size?: BasicSizeType;
    itemKey?: any;
    children?: any;
    renderContent?: (props: {
        title: ReactNode;
        icon: string;
        active: boolean;
    }) => ReactNode;
}
export interface TabProps extends BaseComponentAttributes, LocaledComponentProps<LocaleType> {
    activeKey?: string | number;
    defaultActiveKey?: string | number;
    fullWidth?: boolean;
    dataSource?: TabItemProps[];
    shape?: Shape;
    activeLineType?: ActiveLineType;
    size?: BasicSizeType;
    contentClassName?: string;
    children?: ReactNode;
    contentStyle?: CSSProperties;
    renderTab?: (props: {
        title: ReactNode;
        icon: string;
        active: boolean;
    }) => ReactNode;
    renderTool?: () => ReactNode;
    onChange?: (key: string | number) => void;
}
export {};
