import type React from "react"; import { type DropdownListGroup } from "../components/DropdownBaseList/DropdownBaseList.types"; import { type BaseItemData } from "../../BaseItem"; import { type BaseDropdownProps, type DropdownSizes } from "../Dropdown.types"; import { type DropdownContextProps } from "./DropdownContext.types"; type PropGetter = (options?: any) => Record; type ItemPropGetter = (options: { item: Item; index: number; }) => Record; export interface DropdownContextValue> = any> { isOpen: boolean; inputValue: string | null; highlightedIndex: number | null; selectedItem: Item | null | undefined; selectedItems: Item[]; filteredOptions: DropdownListGroup[]; getToggleButtonProps: PropGetter; getLabelProps: PropGetter; getMenuProps: PropGetter; getInputProps: PropGetter; getItemProps: ItemPropGetter; getDropdownProps?: PropGetter; reset: () => void; toggleMenu: () => void; onClear?: () => void; onOptionSelect?: (option: Item) => void; onOptionRemove?: (option: Item) => void; addSelectedItem?: (item: Item) => void; removeSelectedItem?: (item: Item) => void; setSelectedItems?: (items: Item[]) => void; searchable?: boolean; multi?: boolean; multiline?: boolean; disabled?: boolean; readOnly?: boolean; size?: DropdownSizes; optionRenderer?: BaseDropdownProps["optionRenderer"]; valueRenderer?: BaseDropdownProps["valueRenderer"]; noOptionsMessage?: BaseDropdownProps["noOptionsMessage"]; placeholder?: BaseDropdownProps["placeholder"]; withGroupDivider?: BaseDropdownProps["withGroupDivider"]; stickyGroupTitle?: BaseDropdownProps["stickyGroupTitle"]; maxMenuHeight?: BaseDropdownProps["maxMenuHeight"]; clearable?: boolean; autoFocus?: boolean; isFocused?: boolean; inputAriaLabel?: string; menuAriaLabel?: string; closeMenuOnSelect?: boolean; dir?: BaseDropdownProps["dir"]; originalOnFocus?: (event: React.FocusEvent) => void; originalOnBlur?: (event: React.FocusEvent) => void; originalOnKeyDown?: (event: React.KeyboardEvent) => void; originalOnScroll?: (event: React.UIEvent) => void; } export declare const DropdownContext: React.Context>; export declare function useDropdownContext>>(): DropdownContextProps; export {};