import type { IdAutocompleteOption, IdAutocompleteProps } from "./types.js";
interface UseIdAutocompleteParams {
    autoComplete: IdAutocompleteProps["autoComplete"];
    defaultValue?: string;
    value?: string;
    isOpenByDefault: IdAutocompleteProps["isOpenByDefault"];
    initialOptions: IdAutocompleteProps["initialOptions"];
    onChange?: IdAutocompleteProps["onChange"];
    onBlur?: React.FocusEventHandler<HTMLInputElement>;
    fetchOptions: IdAutocompleteProps["fetchOptionsCallback"];
    fetchSelectedOption: IdAutocompleteProps["fetchSelectedOptionCallback"];
}
export declare function useIdAutocomplete({ autoComplete, defaultValue, value, isOpenByDefault, initialOptions, onChange, onBlur, fetchOptions, fetchSelectedOption, }: UseIdAutocompleteParams): {
    selectedValue: string;
    selectedOption: IdAutocompleteOption | undefined;
    isPopoverOpen: boolean;
    commandListRef: import("react").RefObject<HTMLDivElement | null>;
    options: IdAutocompleteOption[];
    isLoading: boolean;
    isLoadingSelectedOption: boolean;
    haveFetchError: boolean;
    commandValue: string;
    isFetchSelectedOptionSync: boolean;
    toggleOption: (optionValue: string) => void;
    handleOpenChange: (open: boolean) => void;
    onTriggerBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
    handleChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
    handleCommandValue: (value: string) => void;
    handleFetchSelectedOption: (value: string) => void;
    handlePaste: (e: React.ClipboardEvent<HTMLInputElement>) => void;
};
export {};
//# sourceMappingURL=use-id-autocomplete.d.ts.map