import React from 'react'; import { type BasedAdditionalProps, type SelectBoxOption } from './SelectBox.types'; type SelectBoxOptionGroupProps = { /** * The group option with nested options. */ groupOption: SelectBoxOption & { options: (SelectBoxOption | null | undefined)[]; }; /** * Currently selected option. */ selectedOption: SelectBoxOption | null; /** * Map from option value to its index in flatOptions for O(1) lookup. */ valueToIndexMap: Map; /** * Index of the currently tabbable option. */ tabbableOptionIndex: number; /** * CSS classes from the parent component. */ classes: { listItem: string; }; /** * Custom render function for options. */ renderOption?: (option: SelectBoxOption, isSelected: boolean) => React.ReactNode; /** * Handler called when option receives focus. */ onOptionFocus: (optionIndex: number) => void; /** * Handler called when option is clicked. */ onOptionClick: (option: SelectBoxOption) => void; /** * Handler for keyboard events on options. */ onOptionKeyDown: (option: SelectBoxOption) => (event: React.KeyboardEvent) => void; /** * Utility to find index in flatOptions by value. */ findFlatOptionIndexByValue: (valueToIndexMap: Map, option: SelectBoxOption) => number; }; export declare const SelectBoxOptionGroup: ((props: SelectBoxOptionGroupProps) => React.ReactElement) & { displayName: string; }; export {};