import React, { Component } from 'react';
import { DropdownItemProps, DropdownOnSearchChangeData } from 'semantic-ui-react';
import { DropdownProps } from '../Dropdown';
interface GroupedSelectItemProps extends DropdownItemProps {
group?: string;
index?: number;
}
interface SelectState {
searchQuery?: SelectProps['searchQuery'];
}
export interface SelectProps extends DropdownProps {
/** Set size of the select.
Possible values: 'large', 'small' */
size?: 'small' | 'medium' | 'large';
/** Shortcut for large-sized select */
large?: boolean;
/** Shortcut for small-sized select */
small?: boolean;
/** Array of items in Select */
options: DropdownItemProps[];
/** Allow for grouping of Select options */
grouped?: boolean;
}
export declare class Select extends Component {
static defaultProps: {
selection: boolean;
size: string;
};
static displayName: string;
get searchQuery(): string;
get options(): DropdownItemProps[];
memoizedOptions: (options: DropdownItemProps[], searchQuery?: SelectProps['searchQuery'], value?: SelectProps['value'], multiple?: boolean) => DropdownItemProps[];
constructor(props: SelectProps);
handleChange: (event: React.SyntheticEvent, data: DropdownProps) => void;
handleSearchChange: (event: React.SyntheticEvent, data: DropdownOnSearchChangeData) => void;
handleClose: (event: React.SyntheticEvent, data: DropdownProps) => void;
isOptionSuitable(option: DropdownItemProps, searchQuery: SelectProps['searchQuery']): boolean;
splitOptions: (options: DropdownItemProps[], searchQuery?: SelectProps['searchQuery'], value?: SelectProps['value'], multiple?: boolean) => Record<"selected" | "available" | "excluded", DropdownItemProps[]>;
groupOptions: (options: DropdownItemProps[]) => GroupedSelectItemProps[];
render(): JSX.Element;
}
export {};