import { ReactNode } from 'react'; /** * Simple option for SegmentedControl */ export interface SegmentedOption { /** * Option label */ label: string; /** * Option value */ value: string; /** * Optional element displayed next to the label (e.g. a Badge, an icon, a count…). * No extra element is rendered when omitted. */ badge?: ReactNode; } /** * SegmentedControl component props * * Minimal interface that only exposes what is necessary. * Ant Design implementation is hidden and no Ant Design-specific props are exposed. * Standard HTML div attributes are supported (passed through to the underlying DOM element). */ export interface SegmentedControlProps extends Omit, 'onChange' | 'defaultValue'> { /** * Segmented control options */ options: SegmentedOption[]; /** * Selected value */ value?: string; /** * Variant of the segmented control, affecting its styling. * - 'default': standard segmented control with borders. * - 'ghost': borderless segmented control, relying on background and text color for distinction. * * @default 'default' */ variant?: 'default' | 'ghost'; /** * Callback called when value changes */ onChange?: (value: string) => void; } /** * SegmentedControl component * * Segmented control component for selecting between multiple options. * * **Note:** This component uses Ant Design's Segmented component internally. * Only the props defined in SegmentedControlProps are allowed to prevent * dependency on Ant Design-specific features. To replace the implementation, * modify the component body below. * * @example * ```tsx * setValue(val)} * /> * ``` */ declare const SegmentedControl: import('react').ForwardRefExoticComponent>; export default SegmentedControl;