import React from 'react'; import { ISuggestProps, IItemRendererProps } from '@blueprintjs/select'; import { IconProps } from '@harnessio/icons'; export interface SelectOption { label: string; value: string | number | symbol; icon?: IconProps; rightIcon?: IconProps; } export declare enum SelectSize { Small = "small", Medium = "medium", Large = "large" } declare type Props = ISuggestProps; export interface SelectProps extends Omit { inputValueRender?: Props['inputValueRenderer']; itemRenderer?: Props['itemRenderer']; onChange?: Props['onItemSelect']; value?: Props['selectedItem']; size?: SelectSize; items: Props['items'] | (() => Promise); allowCreatingNewItems?: boolean; newItemRenderer?: (query: string, clickHandler?: React.MouseEventHandler) => React.ReactNode; name?: string; whenPopoverClosed?: (node: HTMLElement) => void; addClearBtn?: boolean; usePortal?: boolean; popoverClassName?: string; onQueryChange?: Props['onQueryChange']; addTooltip?: boolean; borderless?: boolean; loadingItems?: boolean; } export declare function defaultItemRenderer(item: SelectOption, props: IItemRendererProps, size?: SelectSize): JSX.Element | null; export declare function createNewItemFromQuery(query: string): SelectOption; export declare function Select(props: SelectProps): React.ReactElement; export declare function NoMatch(): React.ReactElement; export {};