import React, { PureComponent } from 'react'; import { Merge } from 'type-fest'; import Option from './Option'; export declare enum SelectScale { Small = "small", Large = "large" } type SelectProps = Merge, { /** Список [Option](/?path=/docs/components-select-option--option) */ children?: React.ReactNode; /** Размер контрола */ scale?: SelectScale; /** Флаг не валидности */ invalid?: boolean; /** Флаг размера контрола, размер по контенту */ flexible?: boolean; /** Флаг для отключения рамок у селекта */ light?: boolean; /** Флаг disabled контрола */ disabled?: boolean; /** Значение выбранного option для controlled компонента*/ value?: string; /** Значение выбранного option для uncontrolled компонента*/ defaultValue?: string; /** Обработчик onChange, в качестве аргумента передает event */ onChange?: (event: React.ChangeEvent) => void; }>; export declare class SelectRaw extends PureComponent { static defaultProps: { invalid: boolean; flexible: boolean; light: boolean; disabled: boolean; }; render(): JSX.Element; } declare const Select: (props: import("type-fest").Simplify, HTMLSelectElement>, "key" | keyof React.SelectHTMLAttributes>, { /** Список [Option](/?path=/docs/components-select-option--option) */ children?: React.ReactNode; /** Размер контрола */ scale?: SelectScale | undefined; /** Флаг не валидности */ invalid?: boolean | undefined; /** Флаг размера контрола, размер по контенту */ flexible?: boolean | undefined; /** Флаг для отключения рамок у селекта */ light?: boolean | undefined; /** Флаг disabled контрола */ disabled?: boolean | undefined; /** Значение выбранного option для controlled компонента*/ value?: string | undefined; /** Значение выбранного option для uncontrolled компонента*/ defaultValue?: string | undefined; /** Обработчик onChange, в качестве аргумента передает event */ onChange?: ((event: React.ChangeEvent) => void) | undefined; }>> & React.RefAttributes) => React.ReactElement> | null; export default Select; export type SelectPropsWithRef = Parameters[0]; export { Option };