import React from 'react'; import { BaseControlProps } from '../_Common/BaseControl/BaseControl'; export declare type ReturnType = 'id' | 'full'; export declare type DisplayMode = 'classic' | 'tags'; export interface UpSelectOption { id: number; text: string; icon?: string; } interface DataSource { id?: string; text?: string; endPoint?: string; query?: string; queryParameterName?: string; getExtraParams?: () => any; delay?: number; handleResponse?: (response: any) => Array; fetchData?: (input: string, defaultParameters?: { [key: string]: string; }) => Promise; defaultParameters?: { [key: string]: string; }; } export interface UpSelectProps extends BaseControlProps { default: any; multiple?: boolean; data?: any; isLoading?: boolean; placeholder?: string; loadingPlaceholder?: string; displayMode?: DisplayMode; allowClear?: boolean; allowCreate?: boolean; minimumInputLength?: number; dataSource?: DataSource; filterOptions?: (option: object, filter: string) => boolean; valueKey?: string; labelKey?: string; autoload?: boolean; noResultsText?: string; clearAllText?: string; clearValueText?: string; addLabelText?: string; searchPromptText?: string; promptTextCreator?: (label: string) => string; isOptionUnique?: (option: object, options: Array, labelKey: string, valueKey: string) => boolean; onNewOptionClick?: (option: any) => void; optionRenderer?: React.StatelessComponent; valueRenderer?: React.StatelessComponent; dataFor?: string; returnType?: ReturnType; autoFocus?: boolean; backspaceRemovesValue?: boolean; blurInputOnSelect?: boolean; captureMenuScroll?: boolean; closeMenuOnSelect?: boolean | EventListener; closeMenuOnScroll?: boolean | EventListener; delimiter?: string; escapeClearsValue?: boolean; formatGroupLabel?: (group: any) => React.ReactNode; formatOptionLabel?: (option: Object, optionContext: FormatOptionContext) => React.ReactNode; formatMinimumInputLenghMessage?: (minimumInputLength: number) => string; hideSelectedOptions?: boolean; id?: string; inputId?: string; isOptionDisabled?: (option: Object, options: Array) => boolean; isOptionSelected?: (option: Object, options: Array) => boolean; isRtl?: boolean; isSearchable?: boolean; minMenuHeight?: number; maxMenuHeight?: number; menuPlacement?: MenuPlacement; menuShouldBlockScroll?: boolean; menuShouldScrollIntoView?: boolean; onBlur?: (event: Event) => void; onFocus?: (event: Event) => void; onKeyDown?: (event: Event) => void; onMenuScrollToTop?: (event: Event) => void; onMenuScrollToBottom?: (event: Event) => void; openMenuOnFocus?: boolean; openMenuOnClick?: boolean; allowCreateWhileLoading?: boolean; formatCreateLabel?: (inputValue: string) => React.ReactNode; isValidNewOption?: (inputValue: any, selectValue: any, selectOptions: any) => boolean; getNewOptionData?: (inputValue: any, optionLabel: any) => object; onCreateOption?: (inputValue: string) => void; createOptionPosition?: 'first' | 'last'; className?: string; floatingLabel?: string; } export declare type MenuPlacement = 'auto' | 'bottom' | 'top'; export declare type FormatOptionContext = { context: 'menu' | 'value'; inputValue: string; selectValue: Object | Array | null | undefined; }; export interface UpSelectStyledProps { } export {};