import { ChangeEvent, FC, HTMLAttributes, Ref } from 'react';
import { SegmentedControlSize, SegmentedControlValue, SegmentedControlVariant } from './types';
export interface SegmentedControlProps extends HTMLAttributes {
/**
* Disables all segments, preventing user interaction.
*/
disabled?: boolean;
/**
* Visual size of the segmented control.
*/
size?: SegmentedControlSize;
/**
* Visual style variant of the segmented control.
*/
variant?: SegmentedControlVariant;
/**
* Ref to the root container element.
* Useful for measuring or controlling focus.
*/
ref?: Ref;
/**
* The currently selected value of the segmented control
*/
value?: SegmentedControlValue;
/**
* The initial selected value when the component is used in an uncontrolled mode
*/
defaultValue?: SegmentedControlValue;
/**
* Fired when the selected segment changes.
*
* This event mirrors the native `change` event of a radio input and
* can be used to integrate with forms or listen for user selection.
*
* The event target is the underlying hidden ``.
*/
onChange?(e: ChangeEvent): void;
/**
* The name of the underlying radio group.
*
* All `SegmentedControlItemHiddenInput` elements share this name,
* allowing the segmented control to behave as a single native
* radio group for form submission and accessibility.
*/
name: string;
}
/** 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;