import * as React from 'react'; import type { HTMLAttributesWithRootRef } from '../../types'; export type SegmentedControlValue = string | number; export interface SegmentedControlOptionInterface extends Omit, 'label'> { /** * Вставляет элемент перед основным контентом. * Рекомендуется использовать только иконки с размером 20. */ before?: React.ReactNode | undefined; /** * Текст или React-элемент, отображаемый в качестве метки опции. */ label: React.ReactNode; /** * Значение опции, которое будет передано в обработчик onChange при выборе. */ value: T; } export interface SegmentedControlProps extends Omit, 'onChange'> { /** * Массив опций для отображения в компоненте. */ options: Array>; /** * Размер компонента. */ size?: 'm' | 'l' | undefined; /** * Имя для input-элементов внутри компонента. */ name?: string | undefined; /** * Обработчик изменения выбранного значения. */ onChange?: ((value: T) => void) | undefined; /** * Текущее выбранное значение (для контролируемого компонента). */ value?: T | undefined; /** * Значение по умолчанию (для неконтролируемого компонента). */ defaultValue?: T | undefined; } /** * @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