import React, { ReactElement } from 'react'; import { ControllerStateAndHelpers } from 'downshift'; import { Option } from 'fp-ts/lib/Option'; import { CssOverrides } from '@monorail/StyleHelpers'; import { CommonComponentType } from '@monorail/types'; import { DropdownItemValue, DropdownType } from '@monorail/visualComponents/dropdown/helpers'; import { BehaviorControllerHook } from './behavior'; import { KeyboardInteractionHook } from './interaction'; import { DropdownParserHook } from './parsers'; import { DropdownSkinCommonType, DropdownSkinComponent } from './skin'; export declare type DropdownChangeHandler = (item?: D, downshiftProps?: ControllerStateAndHelpers) => void; export declare type DropdownHooks = { behavior?: BehaviorControllerHook; interaction?: KeyboardInteractionHook; parser?: DropdownParserHook; skin?: DropdownSkinComponent; }; export declare type DropdownProps = CommonComponentType & DropdownHooks & DropdownSkinCommonType & { items: Array; value?: D | DropdownItemValue; onChange?: DropdownChangeHandler; triggerOnAllSelections?: boolean; onBlur?: VoidFunction; error?: Option; required?: boolean; cssOverrides?: CssOverrides; }; export declare const DropdownContainer: import("styled-components").StyledComponent<"div", any, CommonComponentType, never>; export declare const Dropdown: ({ label, placeholder, disabled, clearable, extraWidth, items: collection, value, onChange, triggerOnAllSelections, behavior, skin, parser, interaction, error, required, display, cssOverrides, ...domProps }: DropdownProps) => React.ReactElement, string | ((props: any) => React.ReactElement React.Component)> | null) | (new (props: any) => React.Component)>;