import * as react from 'react';
import { ReactElement, SyntheticEvent } from 'react';
import { S as SelectedPosition } from './useSelectedPosition.types-cd760ebb.js';
import { O as OverridableStringUnion } from './types-5e5b88b2.js';
import { U as UseTabProps } from './useTab-31f1ebac.js';

interface SegmentedControlSizeOverrides {
}
type SegmentedControlSize = "small" | "medium" | "large";
interface SegmentedControlProps {
    children: ReactElement<ItemProps, any> | ReactElement<ItemProps, any>[];
    className?: string;
    fullWidth?: boolean;
    onChange(event: SyntheticEvent, value: any): void;
    size?: OverridableStringUnion<SegmentedControlSize, SegmentedControlSizeOverrides>;
    value?: any;
}
interface OptionProps {
    isSelected?: boolean;
    selectedPosition: SelectedPosition;
}
interface SegmentedControlClasses {
    active: string;
    disabled: string;
    focusVisible: string;
    fullWidth: string;
    inner: string;
    isSelected: string;
    item: string;
    root: string;
    selected: string;
    sizeLarge: string;
    sizeMedium: string;
    sizeSmall: string;
}

interface ItemProps extends Pick<SegmentedControlProps, "size">, UseTabProps {
    className?: string;
    tabIndex?: number;
}

declare const SegmentedControl: react.ForwardRefExoticComponent<SegmentedControlProps & react.RefAttributes<HTMLDivElement>> & {
    Item: react.ForwardRefExoticComponent<Omit<ItemProps, "ref"> & react.RefAttributes<HTMLButtonElement>>;
};

declare const segmentedControlClasses: SegmentedControlClasses;

export { OptionProps as O, SegmentedControl as S, SegmentedControlSizeOverrides as a, SegmentedControlSize as b, SegmentedControlProps as c, SegmentedControlClasses as d, segmentedControlClasses as s };
