interface DropdownItem { value: T; label: string; } interface DropdownItemWithIcon extends DropdownItem { icon?: string; image?: never | undefined; } interface DropdownItemWithImage extends DropdownItem { icon?: never | undefined; image?: string; } export declare type DropdownItemDefinition = DropdownItemWithIcon | DropdownItemWithImage; export declare type DropdownItemArray = DropdownItemDefinition[]; export declare type DropdownItemGroups = Record>; export type { DropdownItemWithIcon }; export type { DropdownItemWithImage }; export interface DropdownItemProps { selected: boolean; checkbox?: boolean; item: DropdownItemDefinition; } export interface DropdownProps { size?: 36 | 44; icon?: string; placeholder?: string; searchable?: boolean; modelValue: DropdownItemDefinition | null; items: DropdownItemArray | DropdownItemGroups; disabled?: boolean; loading?: boolean; error?: boolean; searchHandler?: (searchTerm: string, items?: DropdownItemArray | DropdownItemGroups) => void; } export interface DropdownListProps { selected: DropdownItemArray | DropdownItemDefinition | null; items: DropdownItemArray | DropdownItemGroups; searchable?: boolean; loading?: boolean; multiple?: boolean; show?: boolean; searchHandler?: (searchTerm: string, items?: DropdownItemArray | DropdownItemGroups) => void; } export interface MultiselectDropdownProps { icon?: string; label: string; searchable?: boolean; loading?: boolean; modelValue: DropdownItemDefinition[]; items: DropdownItemArray | DropdownItemGroups; error?: boolean; }