import * as React from 'react'; import { Option, OptGroup, SelectProps as RcSelectProps, BaseSelectRef } from 'rc-select'; import type { BaseOptionType, DefaultOptionType } from 'rc-select/lib/Select'; import { OptionProps } from 'rc-select/lib/Option'; import { SizeType } from '../config-provider/SizeContext'; declare type RawValue = string | number; export { OptionProps, BaseSelectRef as RefSelectProps, BaseOptionType, DefaultOptionType }; export interface LabeledValue { key?: string; value: RawValue; label: React.ReactNode; } export declare type SelectValue = RawValue | RawValue[] | LabeledValue | LabeledValue[] | undefined; 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' | 'getRawInputElement' | 'backfill'> { mode?: 'multiple' | 'tags'; } declare const Select: ((props: SelectProps & { children?: React.ReactNode; } & { ref?: React.Ref | undefined; }) => React.ReactElement) & { SECRET_COMBOBOX_MODE_DO_NOT_USE: string; Option: typeof Option; OptGroup: typeof OptGroup; }; export default Select;