import * as React from 'react'; import { size, status } from './Select.types'; import { ISelect } from '../../interfaces'; declare type OptionType = { name: any; value: any; className?: string; }; interface SelectProps extends ISelect { /** * Searchable with string input */ search?: boolean; /** * Callback function of search filtering */ filterSearch?: (name: any, value: any) => boolean; /** * Data source of select */ options?: OptionType[]; /** * Size of Input * @default 'default' */ inputSize?: size; /** * Explanation text of Input below of the label */ helperText?: React.ReactNode; /** * Label of the Input */ label?: React.ReactNode; /** * Custom option label */ renderOption?: (name?: any, value?: any) => React.ReactNode; /** * When input is loading shows loading indicator and disabled */ loading?: boolean; /** * Status of Input 'warning' | 'success' | 'error' */ status?: status; /** * Message when status is equal to error */ errorMessage?: React.ReactNode; /** * Prefix Icon of Input */ prefix?: string; /** * Suffix Icon of Input */ suffix?: string; /** * Disable Options for Native View * @default false */ isMobile?: boolean; /** * External react ref object */ inputRef?: React.MutableRefObject; /** * Additional Classes */ className?: string; /** * Determines whether to render the native HTML select element * Set to false when you want to create a custom select UI * @default true */ useNativeSelectElement?: boolean; /** * Additional content to display next to the selected value */ selectedValueSuffix?: React.ReactNode; /** * Custom render function for the selected value display */ renderSelectedValue?: (name?: any, value?: any) => React.ReactNode; } interface SelectState { searchValue: string; selectedValue: any; selectedName: any; isOptionsVisible: boolean; } export declare class Select extends React.PureComponent { static defaultProps: { inputSize: string; useNativeSelectElement: boolean; }; private searchInput; private setSearchInput; private selectInput; private setSelectInput; private wrapperRef; constructor(props: SelectProps); static getDerivedStateFromProps({ value, options }: { value?: string; options?: any[]; }, state: any): "" | { selectedValue: string; selectedName: any; prevValue: string; }; setNativeValue: (element: any, value: any) => void; handleDisplaySearchInput: (val: any) => void; handleChange: (e: any) => void; handleToggleOptions: (e: any) => void; handleFocus: (e: any) => void; handleBlur: (e: any) => void; handleClickOutside: (e: any) => void; handleSearchValue: (val: any) => void; handleSearch: (name: any) => boolean; handleOptionClicked: (e: any, val: any, name: any) => void; componentDidMount(): void; componentWillUnmount(): void; componentDidUpdate(prevProps: any, prevState: any): void; render(): JSX.Element; } export {};