import * as React from 'react'; import type { HTMLAttributesWithRootRef } from '../../types'; export type SegmentedControlValue = string | number | undefined; export interface SegmentedControlOptionInterface extends Omit, 'label'> { /** * Вставляет элемент перед основным контентом. * Рекомендуется использовать только иконки с размером 20. */ before?: React.ReactNode; /** * Текст или React-элемент, отображаемый в качестве метки опции. */ label: React.ReactNode; /** * Значение опции, которое будет передано в обработчик onChange при выборе. */ value: SegmentedControlValue; } export interface SegmentedControlProps extends Omit, 'onChange'> { /** * Массив опций для отображения в компоненте. */ options: SegmentedControlOptionInterface[]; /** * Размер компонента. */ size?: 'm' | 'l'; /** * Имя для input-элементов внутри компонента. */ name?: string; /** * Обработчик изменения выбранного значения. */ onChange?: (value: SegmentedControlValue) => void; /** * Текущее выбранное значение (для контролируемого компонента). */ value?: SegmentedControlValue; /** * Значение по умолчанию (для неконтролируемого компонента). */ defaultValue?: SegmentedControlValue; } /** * @see https://vkui.io/components/segmented-control */ export declare const SegmentedControl: ({ size, name, options, defaultValue, children, onChange: onChangeProp, value: valueProp, role, ...restProps }: SegmentedControlProps) => React.ReactNode; //# sourceMappingURL=SegmentedControl.d.ts.map