import { PLACEMENT, SIZE } from '../../constants'; import { default as React, ReactNode } from 'react'; export declare type Value = string | number | Array; export declare type SizeClassNames = 'sizeXs' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXl'; export declare type Mode = 'default' | 'multiple' | 'dropdownSelector'; export declare type InputRowsMode = 'scroll' | 'unlimited'; export interface IOption { title: string; value: string | number; isDisabled?: boolean; } export interface IGroupOption { title: string; value: string | number; options: IOption[]; } export declare type ISelectProps = { prefix?: ReactNode; suffix?: ReactNode; onPrefixClick?: (e: React.MouseEvent) => void; onSuffixClick?: (e: React.MouseEvent) => void; defaultValue?: Value; value?: Value; options: IOption[]; onBlur?: () => void; onFocus?: () => void; onSearch?: (text: string) => void; onChange?: (value: Value | undefined, options?: IOption[]) => void; onSelect?: (value: Value) => void; onDeselect?: (value: Value) => void; onSelectAll?: () => void; onDeselectAll?: () => void; selectAllText?: string; selectNoneText?: string; sortOrder?: 'ASC' | 'DESC'; size?: SIZE; /** * 'tags' mode generate new option by creating IOption {title: *text*, value: *text*} */ mode?: Mode; inputRowsMode?: InputRowsMode; isDefaultOpen?: boolean; showSearch?: boolean; placeholder?: string; isDisabled?: boolean; isReadOnly?: boolean; canSelectAll?: boolean; showArrow?: boolean; allowClear?: boolean; isWaiting?: boolean; isAllSelected?: boolean; onDropdownVisibleChange?: (isOpen: boolean) => void; dropdownRender?: (selectedOptions: IOption[], closeDropDown?: () => void) => React.ReactNode; isOpen?: boolean; autoFocus?: boolean; notFoundContent?: React.ReactNode; notFoundText?: string; targetRenderer?: (handleClick: (e: React.MouseEvent) => void, value?: Value) => React.ReactNode; valueRenderer?: (value?: Value) => React.ReactNode; multipleValueRenderer?: (option: IOption, onDeleteSelectedOption: (option: IOption) => void) => React.ReactNode; optionRenderer?: (option: IOption, isSelect: boolean) => React.ReactNode; optionsMaxHeight?: number; dropdownMatchSelectWidth?: 'autoContent' | '1.5:1'; title?: React.ReactNode; tooltipPlacement?: PLACEMENT; hasError?: boolean; errorMessage?: React.ReactNode; canCreate?: boolean; canAdd?: boolean; addText?: string; onAdd?: () => void; };