import type { FC, HTMLAttributes, Ref } from 'react';
import type { VariantProps } from 'class-variance-authority';
import { type TestableProps } from '../../utils/testId';
import { segmentedControlVariants } from './classes';
type SegmentedControlVariantProps = VariantProps;
type SegmentedControlNativeProps = Omit, 'onChange' | 'defaultValue'>;
/**
* SegmentedControl component for switching between different views or options.
*
* Built on Ark UI's SegmentGroup with radio input behavior and accessibility.
* This is a controlled component - selection state is managed by the parent.
*/
export interface SegmentedControlBaseProps {
/** The currently selected value */
value?: string;
/** The default selected value */
defaultValue?: string;
/** Callback function called when the selection changes */
onChange?: (value: string) => void;
/** Whether the segmented control should take full width and stretch items equally */
fullWidth?: boolean;
ref?: Ref;
}
export type SegmentedControlProps = SegmentedControlNativeProps & SegmentedControlVariantProps & SegmentedControlBaseProps & TestableProps;
/**
* SegmentedControl component for switching between different views or options.
*
* Built on Ark UI's SegmentGroup with radio input behavior and accessibility.
* This is a controlled component - selection state is managed by the parent.
*/
export declare const SegmentedControl: FC;
export {};