import { ReactNode } from 'react';
import { Styles } from '../../../tasty';
import { CubeButtonProps } from '../../actions';
import { CubeFlexProps } from '../../layout/Flex';
export interface CubeTabData {
    id: string | number;
    qa?: string;
    title?: string;
    isDisabled?: boolean;
    isHidden?: boolean;
}
export interface LegacyCubeTabsContextValue {
    addTab: (CubeTabData: any) => void;
    setTab: (id: string | number) => void;
    removeTab: (CubeTabData: any) => void;
    changeTab: (CubeTabData: any) => void;
    currentTab?: string | number;
}
export interface LegacyCubeTabProps extends Omit<CubeButtonProps, 'id'> {
    id?: string | number;
    title?: string;
    isSelected?: boolean;
    isHidden?: boolean;
    onClose?: () => void;
}
export interface CubeTabsProps extends CubeFlexProps {
    /** The initial active key in the tabs (uncontrolled). */
    defaultActiveKey?: string;
    /** The currently active key in the tabs (controlled). */
    activeKey?: string | number;
    /** Handler that is called when the tab is clicked. */
    onTabClick?: (string: any) => void;
    /** Handler that is called when the tab is closed. */
    onTabClose?: (string: any) => void;
    /** Styles for the each tab pane */
    paneStyles?: Styles;
    /** Additional content along the tabs */
    extra?: ReactNode;
}
export declare function LegacyTabs({ defaultActiveKey, activeKey: activeKeyProp, onTabClick, onTabClose, paneStyles, extra, children, ...props }: CubeTabsProps): import("react/jsx-runtime").JSX.Element;
export declare namespace LegacyTabs {
    var TabPane: ({ id, title, qa, isHidden, isDisabled, children, ...props }: LegacyCubeTabProps) => import("react/jsx-runtime").JSX.Element;
}
