import { OptionProps } from './Option.types'; import { SelectionStrategy, SelectValue } from './strategies/SelectionStrategy'; export interface UseRenderOptionParams { /** Live options registry from `useCreateOptionsContext`. */ optionsProps: Map; /** Selection strategy (single vs multi) from `createSelectionStrategy`. */ selectionStrategy: SelectionStrategy; /** Current selected value (single string or array for multi). */ value: SelectValue; /** Whether the parent is in multiselect mode (affects item kind). */ multiple: boolean; /** CSS class applied to each rendered `ActionList.Item` for parent-specific styling. */ optionClassName?: string; /** * Per-option "filtered out" map (Autocomplete only). When set, filtered * options render with `hidden` and `disabled` so keyboard navigation skips * them while their `useListItem` index stays stable. Omit on consumers that * don't filter (Select). */ filteredOptionsById?: Record; } /** * Shared per-option renderer for `Autocomplete` and `Select` dropdowns. * * Returns a stable `(optionId, groupDisabled?)` callback the parent invokes * while walking its rendered structure. Centralises the `ActionList.Item` * wiring (className, disabled cascade, selection mirror, role, key) so both * components stay in lockstep. */ export declare function useRenderOption({ optionsProps, selectionStrategy, value, multiple, optionClassName, filteredOptionsById, }: UseRenderOptionParams): (optionId: string, groupDisabled?: boolean) => import("react/jsx-runtime").JSX.Element | null;