import * as React from 'react'; import { SizeType } from '../config-provider/SizeContext'; import { Option, OptGroup, SelectProps as RcSelectProps } from './src'; import { OptionProps } from './src/Option'; type RawValue = string | number; export { OptionProps }; export type OptionType = typeof Option; export interface LabeledValue { key?: string; value: RawValue; label: React.ReactNode; } export interface SelectLocale { checkAll?: string; placeholder?: string; empty?: string | React.ReactNode; filterEmpty?: string; } export type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[]; export interface InternalSelectProps extends Omit, 'mode'> { suffixIcon?: React.ReactNode; size?: SizeType; mode?: 'multiple' | 'tags' | 'SECRET_COMBOBOX_MODE_DO_NOT_USE'; bordered?: boolean; } export interface SelectProps extends Omit, 'inputIcon' | 'mode' | 'getInputElement' | 'backfill'> { mode?: 'multiple' | 'tags'; } export interface RefSelectProps { focus: () => void; blur: () => void; } declare const SelectRef: (props: SelectProps & { ref?: React.Ref; }) => React.ReactElement; type InternalSelectType = typeof SelectRef; export interface SelectInterface extends InternalSelectType { SECRET_COMBOBOX_MODE_DO_NOT_USE: string; Option: typeof Option; OptGroup: typeof OptGroup; } declare const Select: SelectInterface; export default Select;