import { ComponentPropsWithoutRef, ReactNode } from 'react';
import { ComponentCSSPropType } from './tailwind';
type OptionValue = string | symbol | number | bigint | boolean | Record<string, unknown>;
export interface ExperimentalSegmentedControlProps<T extends OptionValue | null> extends Omit<ComponentPropsWithoutRef<'div'>, 'value' | 'defaultValue' | 'onChange'> {
    /** @default "medium" */
    size?: ComponentCSSPropType<'segmented-control', 'size', 'medium'>;
    /** @default "View options" */
    label?: string;
    value?: T;
    defaultValue?: T;
    onChange?: (value: T) => void;
    valueIdKey?: T extends null ? never : keyof T & string;
}
export declare const ExperimentalSegmentedControlRoot: <T extends OptionValue | null>(props: ExperimentalSegmentedControlProps<T> & import('react').RefAttributes<HTMLDivElement>) => ReactNode | null;
export interface ExperimentalSegmentedControlOptionProps extends ComponentPropsWithoutRef<'div'> {
    value?: OptionValue | null;
    icon?: ReactNode;
}
export declare const ExperimentalSegmentedControlOption: import('react').ForwardRefExoticComponent<ExperimentalSegmentedControlOptionProps & import('react').RefAttributes<HTMLDivElement>>;
export {};
//# sourceMappingURL=SegmentedControl.parts.d.ts.map