import * as React from "react"; import { IPopoverProps, ITagInputProps } from "reui-core"; import { IListItemsProps } from "../../common"; export interface IMultiSelectProps extends IListItemsProps { /** Controlled selected values. */ selectedItems?: T[]; /** * Whether the popover opens on key down or when `TagInput` is focused. * @default false */ openOnKeyDown?: boolean; /** Props to spread to `Popover`. Note that `content` cannot be changed. */ popoverProps?: Partial & object; /** Props to spread to `TagInput`. Use `query` and `onQueryChange` to control the input. */ tagInputProps?: Partial & object; /** Custom renderer to transform an item into tag content. */ tagRenderer: (item: T) => React.ReactNode; } export interface IMultiSelectState { isOpen: boolean; } export declare class MultiSelect extends React.PureComponent, IMultiSelectState> { static displayName: string; static ofType(): new (props: IMultiSelectProps) => MultiSelect; state: IMultiSelectState; private TypedQueryList; private input?; private queryList?; private refHandlers; render(): JSX.Element; private renderQueryList; private handleItemSelect; private handleQueryChange; private handlePopoverInteraction; private handlePopoverOpened; private getTargetKeyDownHandler; }