import type { IUiComboboxOption, IUiComboboxState } from "./types.js";
type IUseComboboxChromeReturn = Pick<IUiComboboxState, "isOpen" | "setIsOpen" | "activeIndex" | "setActiveIndex" | "anchorRef" | "registerItemRef"> & {
    /** The currently highlighted option, or undefined. */
    activeOption: IUiComboboxOption | undefined;
    /** Open the popup if needed and move the highlight by `delta`, wrapping around. */
    focusByDelta: (delta: 1 | -1) => void;
};
/**
 * Owns popup open/close, highlight, and scroll. The highlight is tracked by
 * option **id**, not index: when the option list changes (async results arrive,
 * a row is filtered out) a highlighted row that's gone simply resolves to no
 * index, so the highlight can never point at a different row than the user
 * navigated to. Callers pass the current `options` so the id ⇄ index mapping
 * and `focusByDelta` wrapping stay in sync with what's rendered.
 *
 * @internal
 */
export declare function useComboboxChrome(options: IUiComboboxOption[]): IUseComboboxChromeReturn;
export {};
//# sourceMappingURL=useComboboxChrome.d.ts.map