import { RefAttributes } from 'react'; import { BoxProps } from '../box'; import { BoxStyleProps, ComponentsAndVariants } from '../types'; import { DropdownItemProps } from './dropdown/dropdownContext'; interface Props extends Omit, 'ref' | 'tag'> { name?: string; defaultValue?: TVal | TVal[]; value?: TVal | TVal[]; multiple?: boolean; isSearchable?: boolean; searchPlaceholder?: string; hideIcon?: boolean; /** Show checkbox for each item in multiple selection mode */ showCheckbox?: boolean; /** BoxProps applied to the opened items container (dropdown.items) */ itemsProps?: BoxStyleProps; /** BoxProps applied to the chevron icon container (dropdown.icon) */ iconProps?: BoxStyleProps; onChange?: (value: TVal | undefined, values: TVal[]) => void; } interface DropdownDisplayProps extends Omit { children: ((selectedValues: TVal[], isOpen: boolean) => React.ReactNode) | React.ReactNode; } interface DropdownType { (props: Props & RefAttributes): React.ReactNode; Item: (props: DropdownItemProps) => React.ReactNode; Unselect: (props: BoxProps) => React.ReactNode; SelectAll: (props: BoxProps) => React.ReactNode; EmptyItem: (props: BoxProps) => React.ReactNode; Display: (props: DropdownDisplayProps) => React.ReactNode; } declare const Dropdown: DropdownType; export default Dropdown;