import { ControllerStateAndHelpers } from 'downshift'; import React from 'react'; import { PopperProps } from 'react-popper'; import { Theme } from '../../../styles'; export interface SelectDownshiftMenuProps { items: T[]; loading: boolean; menuMinWidth?: number; downshift: ControllerStateAndHelpers; anchorRef: React.RefObject; createNewItem?: boolean; components?: Partial>; popperProps?: Omit>, 'children'>; /** * Render function used by each select item. * @param item The select item to be rendered. * @returns A react node to be rendered inside the `SelectMenuItem` */ renderItem?(item: T): React.ReactNode; } export interface SelectMenuComponents { /** * Item shown when `creteNewItem` prop is indicated. */ CreateItem: React.ComponentType>; /** * Item shown when `loading` prop is true. */ LoadingItem: React.ComponentType>; /** * Item shown when `items` array prop is empty. */ EmptyItem: React.ComponentType>; /** * Default item component used for each element in `items` prop. */ Item: React.ComponentType & { item: T; index: number; }>; /** * A custom item to be included at the beginning of the select list. */ PrependItem: React.ComponentType>; /** * A custom item to be included at the end of the select list. */ AppendItem: React.ComponentType>; } export declare function SelectDownshiftMenu(props: SelectDownshiftMenuProps): JSX.Element; export declare namespace SelectDownshiftMenu { var defaultProps: Partial>; } export declare const defaultComponents: SelectMenuComponents; export declare function SelectDownshiftComponentCustom(props: React.HTMLAttributes): JSX.Element; export declare const createStyles: (theme: Theme) => { menu: React.CSSProperties; list: React.CSSProperties; };