import { ComponentProps, ReactNode } from 'react';
import { ComponentCSSPropType } from './tailwind';
import { ExperimentalTransitionProps } from './Transition';
type TabValue = string | number;
export declare const ExperimentalTabSetContext: import('react').Context<{
    selectedTab: TabValue;
}>;
export interface ExperimentalTabSetProps<T extends TabValue = TabValue> extends Omit<ComponentProps<'div'>, 'onChange'> {
    /** @default "medium" */
    size?: ComponentCSSPropType<'tab-set', 'size', 'medium'>;
    /** @default false */
    fullWidth?: ComponentCSSPropType<'tab-set', 'fullWidth', false>;
    value?: T;
    defaultValue?: T;
    onChange?: (value: T) => void;
}
export declare const ExperimentalTabSetRoot: <T extends TabValue>(props: ExperimentalTabSetProps<T> & import('react').RefAttributes<HTMLDivElement>) => ReactNode | null;
export interface ExperimentalTabSetTabsProps extends ComponentProps<'div'> {
}
export declare const ExperimentalTabSetTabs: import('react').ForwardRefExoticComponent<Omit<ExperimentalTabSetTabsProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
export interface ExperimentalTabSetTabProps extends ComponentProps<'button'> {
    value?: TabValue;
    iconBefore?: ReactNode;
    iconAfter?: ReactNode;
    /** @default false */
    disabled?: boolean;
}
export declare const ExperimentalTabSetTab: import('react').ForwardRefExoticComponent<Omit<ExperimentalTabSetTabProps, "ref"> & import('react').RefAttributes<Element>>;
export interface ExperimentalTabSetPanelsProps extends ComponentProps<'div'> {
    /** @default true */
    transition?: boolean | {
        layout?: ExperimentalTransitionProps['layout'];
        animateSize?: ExperimentalTransitionProps['animateSize'];
    };
}
export declare const ExperimentalTabSetPanels: import('react').ForwardRefExoticComponent<Omit<ExperimentalTabSetPanelsProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
export interface ExperimentalTabSetPanelProps extends ComponentProps<'div'> {
    value?: TabValue;
}
export declare const ExperimentalTabSetPanel: import('react').ForwardRefExoticComponent<Omit<ExperimentalTabSetPanelProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=TabSet.parts.d.ts.map