import * as React from "react"; import { HTMLInputProps, IInputGroupProps, IPopoverProps } from "reui-core"; import { IListItemsProps } from "../../common"; export interface ISelectProps extends IListItemsProps { /** * Whether the dropdown list can be filtered. * Disabling this option will remove the `InputGroup` and ignore `inputProps`. * @default true */ filterable?: boolean; /** * Whether the component is non-interactive. * Note that you'll also need to disable the component's children, if appropriate. * @default false */ disabled?: boolean; /** * Props to spread to the query `InputGroup`. Use `query` and * `onQueryChange` instead of `inputProps.value` and `inputProps.onChange` * to control this input. Use `inputRef` instead of `ref`. */ inputProps?: IInputGroupProps & HTMLInputProps; /** Props to spread to `Popover`. Note that `content` cannot be changed. */ popoverProps?: Partial & object; /** * Whether the filtering state should be reset to initial when the popover closes. * The query will become the empty string and the first item will be made active. * @default false */ resetOnClose?: boolean; } export interface ISelectState { isOpen: boolean; } export declare class Select extends React.PureComponent, ISelectState> { static displayName: string; static ofType(): new (props: ISelectProps) => Select; private TypedQueryList; private input?; private list?; private previousFocusedElement; private refHandlers; constructor(props: ISelectProps, context?: any); render(): JSX.Element; componentDidUpdate(_prevProps: ISelectProps, prevState: ISelectState): void; private renderQueryList; private maybeRenderClearButton(query); private handleTargetKeyDown; private handleItemSelect; private handlePopoverInteraction; private handlePopoverOpening; private handlePopoverOpened; private handlePopoverClosing; private resetQuery; }