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