import { ChangeEvent, DetailedHTMLProps, FC, HTMLAttributes, ReactElement, Ref } from 'react';
import { SegmentedControlItemProps } from './components';
export interface SegmentedControlProps extends Omit, HTMLDivElement>, 'onChange'> {
/**
* Disables all segments, preventing user interaction.
*/
disabled?: boolean;
/**
* Visual size of the segmented control.
*/
size?: 'small' | 'medium' | 'large';
/**
* One or more `SegmentedControlItem` components.
* These define the selectable options.
*/
children?: ReactElement[] | ReactElement;
/**
* The currently selected value.
* Must match the `value` of one of the children.
*/
value?: string | number;
/**
* The name of the underlying radio group.
* Required for grouping and form submission.
*/
name?: string;
/**
* Visual style variant of the segmented control.
*/
variant?: 'primary' | 'secondary';
/**
* Callback fired when the selected segment changes.
*
* @param e - The original change event from the input
*/
onChange?(e: ChangeEvent): void;
/**
* Ref to the root container element.
* Useful for measuring or controlling focus.
*/
ref?: Ref;
}
/** A Segmented Control is a UI component that displays a set of options in a horizontal layout, where each option is a "segment." Users can select one segment to toggle between different views or settings, offering a compact alternative to multiple buttons or switches */
export declare const SegmentedControl: FC;