import { type KeyboardEvent, type ReactNode } from 'react'; import { type InnerClassNamesProp } from '../../types'; import { type SelectElementKey, type SelectOption } from './types'; export interface SelectContextInterface { multiple: boolean; query: string; setQuery: (query: string) => void; isSelected: (value: string) => boolean; /** * single — выбрать и закрыть; multiple — переключить. * Опция запоминается, чтобы поле могло показать подпись выбранного значения. */ select: (value: string, option?: SelectOption) => void; close: () => void; /** Опции после фильтрации (в режиме customDropdownMenu пусто) */ options: SelectOption[]; listId: string; getOptionId: (index: number) => string; /** Индекс подсвеченной опции (виртуальный фокус: реальный остаётся на поле или в поиске) */ activeIndex: number | null; setActiveIndex: (index: number | null) => void; /** Клавиатурная навигация; вешается на поле и на строку поиска */ onKeyDown: (event: KeyboardEvent) => void; emptyText: ReactNode; loading: boolean; /** Доступное имя для listbox */ listLabel?: { 'aria-label'?: string; 'aria-labelledby'?: string; }; innerClassNames?: InnerClassNamesProp; } export declare const SelectContext: import("react").Context; /** Доступ к состоянию Select из customDropdownMenu и внутренних частей */ export declare const useSelect: () => SelectContextInterface; //# sourceMappingURL=context.d.ts.map