import * as React from 'react'; import { FormItem, IFormItemProps, IFormItemStates } from './common/FomItem'; interface GroupType { id: string; html?: React.ReactNode; } export interface ISelectProps extends IFormItemProps { type: 'single' | 'multiple'; size: 'small' | 'medium' | 'large'; variant: 'border-bottom' | 'full-border' | 'floating-label'; fullBorderVariant?: 'button-group-style'; selectOptions: { label?: string; key?: string; value: string | number; html?: React.ReactNode; searchLabel?: string; group?: GroupType; }[]; maxTagCount: number | undefined; delimiter: string; allowSearch: boolean; notFoundCountrol: React.ReactNode; dropdownMatchSelectWidth: boolean; dropdownClassName: string; allowFreeText?: boolean; allowClear?: boolean; placement?: 'bottomLeft' | 'bottomRight' | 'topLeft' | 'topRight'; _manualManagedOptions?: React.ReactNode | undefined; _children?: React.ReactNode; loadMoreOption?: { hasMore: boolean; containerHeight?: number; onLoadMore: () => void; loading: boolean; }; onSelect: (value: string) => void; } interface IState extends IFormItemStates { addedValue: string; } export declare class Select extends FormItem { static defaultProps: { type: string; size: string; variant: string; fullBorderVariant: undefined; maxTagCount: undefined; delimiter: string; allowSearch: boolean; notFoundCountrol: string; dropdownMatchSelectWidth: boolean; dropdownClassName: undefined; allowFreeText: boolean; allowClear: boolean; placement: string; name: undefined; value: undefined; error: undefined; oldValue: undefined; comparing: boolean; required: boolean; autoFocus: boolean; placeholder: undefined; disabled: boolean; onValueChanged: () => undefined; onSelect: () => undefined; customValidate: () => undefined; innerClass: undefined; onFocus: () => undefined; onBlur: () => undefined; _manualManagedOptions: undefined; _label: undefined; }; constructor(props: any); render(): React.JSX.Element; validate(option?: { silentValidation?: boolean | undefined; }): string | undefined; getValue(): string; protected valueToDisplayValue(value: string | null | undefined): string | undefined; private handleLoadMoreOptions; private onSearch; private getSelectValue; private onSetOption; private normalizeSelectOptions; private anySelectOptionContainsLabel; private convertToLabelOrHtml; private containsBlankValue; private handleFocus; private handleBlur; } export {};