import { InputBaseProps } from '../inputBase'; import { ComponentProps, ReactNode, Ref } from 'react'; import { PopperProps, PopperRef } from '../popper'; import { InputProps } from '../input'; import { Id, SelectableMultipleProps, SelectableSingleProps } from '../../types'; export interface SelectBaseOwnProps extends Omit, 'children' | 'placeholder' | 'defaultValue' | 'value' | 'onChange' | 'onToggle'> { /** 实现 */ inputProps?: ComponentProps<'input'>; popperProps?: PopperProps; popperRef?: Ref; defaultOpen?: boolean; open?: boolean; onOpenChange?(open: boolean): void; placeholder?: ReactNode; sizeAdaptable?: boolean; disabled?: boolean; readOnly?: boolean; loading?: boolean; searchable?: boolean; defaultSearchValue?: string; searchValue?: string; onSearchChange?(searchValue: string): void; searchInputProps?: InputProps; } export interface SelectBaseSingleProps extends SelectBaseOwnProps, SelectableSingleProps { renderBackfill?(selectedValue: V | undefined): ReactNode; } export interface SelectBaseMultipleProps extends SelectBaseOwnProps, SelectableMultipleProps { renderBackfill?(selectedValue: V[] | undefined): ReactNode; } export type SelectBaseProps = SelectBaseSingleProps | SelectBaseMultipleProps; export declare function SelectBase({ inputProps, popperProps, popperRef, defaultOpen, open, onOpenChange, placeholder, sizeAdaptable, disabled, readOnly, loading, searchable, defaultSearchValue, searchValue, onSearchChange, searchInputProps, multiple, renderBackfill, _internalProps: { labelKey, optionsMap, innerValue, onToggleSelected, renderPopperContent }, ...props }: Omit & { /** @private 内部使用的属性 */ _internalProps: { labelKey: keyof any; optionsMap: Map; innerValue: (Id & Id[]) | undefined; onToggleSelected(value: Id): void; renderPopperContent(searchValue: string, toggleSelected: (value: Id) => void): ReactNode; }; }): import("@emotion/react/jsx-runtime").JSX.Element;