import { default as React, ReactNode } from 'react'; import { OptionVariant } from './ListBox'; import { DirectionKey } from './utils'; type Context = { listBoxRef: React.RefObject; options: T[]; rowHeight: 'normal' | 'compact'; renderOption: (option: T, titleId: string) => ReactNode; getOptionId: (option: T) => string; onOptionClick?: (option: T) => void; checkedOptionIds?: string[]; onOptionChange?: (option: T, id: string, isSelected: boolean) => void; renderGroupedOptionsHeader?: (value: string, options: T[]) => ReactNode; optionIds: string[]; getIsOptionDisabled?: (option: T) => boolean; getIsOptionActive?: (option: T) => boolean; getIsOptionCheckable?: (option: T) => boolean; getOptionVariant?: (option: T) => OptionVariant; }; export declare const ListBoxContext: React.Context | null>; export type ListBoxProviderProps = { children: ReactNode; } & Context; export declare function ListBoxProvider({ children, ...contextProps }: ListBoxProviderProps): React.JSX.Element; export declare function useOptionContext(option: T): { renderOption: (option: T, titleId: string) => ReactNode; onOptionClick: ((option: T) => void) | undefined; rowHeight: "normal" | "compact"; active: boolean; isChecked: boolean; id: string; isDisabled: boolean; isCheckboxDisabled: boolean; onOptionChange: ((option: T, id: string, isSelected: boolean) => void) | undefined; variant: OptionVariant; handleKeyboardNavigation: (directionKey: DirectionKey) => void; isActiveElementInsideListBox: () => boolean | null; }; export declare function useGroupedOptionContext(): { renderGroupedOptionsHeader: (value: string, options: any[]) => ReactNode; }; export declare function useOptionHeaderContext(): { isChecked: boolean; isDisabled: boolean; isIndeterminate: boolean; hasCheckbox: boolean; }; export declare function useGetOptionId(): (option: any) => string; export {}; //# sourceMappingURL=ListBoxProvider.d.ts.map