import React, { type SetStateAction } from "react";
import type { ComboboxOption, ComboboxProps } from "../types.js";
import { type VirtualFocusType } from "./useVirtualFocus.js";
type FilteredOptionsProps = {
    children: React.ReactNode;
    value: Pick<ComboboxProps, "allowNewValues" | "isListOpen" | "isLoading"> & {
        filteredOptions?: ComboboxOption[];
        options: ComboboxOption[];
    };
};
type FilteredOptionsContextValue = {
    activeDescendantId?: string;
    allowNewValues?: boolean;
    ariaDescribedBy?: string;
    setFilteredOptionsRef: React.Dispatch<React.SetStateAction<HTMLUListElement | null>>;
    isListOpen: boolean;
    isLoading?: boolean;
    filteredOptions: ComboboxOption[];
    isMouseLastUsedInputDevice: boolean;
    setIsMouseLastUsedInputDevice: React.Dispatch<SetStateAction<boolean>>;
    isValueNew: boolean;
    toggleIsListOpen: (newState?: boolean) => void;
    currentOption?: ComboboxOption;
    shouldAutocomplete?: boolean;
    virtualFocus: VirtualFocusType;
};
declare const useFilteredOptionsContext: <S extends boolean = true>(strict?: S | undefined, errorMessageOverride?: string) => S extends true ? FilteredOptionsContextValue : FilteredOptionsContextValue | undefined;
declare const FilteredOptionsProvider: ({ children, value: props, }: FilteredOptionsProps) => React.JSX.Element;
export { FilteredOptionsProvider, useFilteredOptionsContext };
