import { ReactNode } from 'react';
import { Styles } from '@cube-dev/ui-kit';
interface TabData {
    content: ReactNode;
    prerender: boolean;
    keepMounted: boolean;
}
interface TabsContextValue {
    type?: 'default' | 'card';
    size?: 'normal' | 'large';
    activeKey?: string;
    extra?: ReactNode;
    setTabContent: (id: string, content: TabData | null) => void;
    prerender?: boolean;
    keepMounted?: boolean;
    onChange: (key: string) => void;
    onDelete?: (key: string) => void;
}
interface TabsProps extends Omit<TabsContextValue, 'setTabContent'> {
    label?: string;
    children?: ReactNode;
    styles?: Styles;
    size?: TabsContextValue['size'];
}
interface TabProps {
    id: string;
    title: ReactNode;
    children?: ReactNode;
    isDisabled?: boolean;
    qa?: string;
    qaVal?: string;
    styles?: Styles;
    size?: TabsContextValue['size'];
    extra?: ReactNode;
    prerender?: boolean;
    keepMounted?: boolean;
}
export declare function Tabs(props: TabsProps): import("react/jsx-runtime").JSX.Element;
export declare namespace Tabs {
    var Tab: typeof import("./Tabs").Tab;
}
export declare function Tab(props: TabProps): import("react/jsx-runtime").JSX.Element;
export {};
