import * as React from 'react';
import { FieldValues, UseFormReturn } from 'react-hook-form';
import { UseTypeaheadResult } from './useTypeahead';
export declare const TypeaheadContext: React.Context<{
    isOpen: boolean;
    isDisabled: boolean | undefined;
    optionsWithKey: Record<string | number, import("./types").TypeaheadOptionProps>;
    selectedItems: import("./types").TypeaheadValue[];
    inputRef: React.RefObject<HTMLInputElement | null>;
    firstSuggestion: string;
    isMultiple: boolean | undefined;
    typeaheadId: string;
    triggerRef: React.RefObject<HTMLDivElement | null>;
    className: string | undefined;
    startIcon: React.ReactNode;
    endIcon: React.ReactNode;
    startIconClassName: string | undefined;
    endIconClassName: string | undefined;
    name: string;
    inputName: string;
    inputValue: string;
    validationSchema: Record<string, unknown> | undefined;
    status: "error" | "success" | "basic";
    error: import("react-hook-form").FieldError | import("react-hook-form").Merge<import("react-hook-form").FieldError, import("react-hook-form").FieldErrorsImpl<any>> | undefined;
    placeholder: string | null | undefined;
    options: (React.ReactElement<any, string | React.JSXElementConstructor<any>> | null)[];
    customOptionValue: string | null;
    handleChange: ({ value, shouldClose, resetInput, }: {
        value?: string | number;
        shouldClose?: boolean;
        resetInput?: boolean;
    }) => void;
    useFormResult: UseFormReturn<FieldValues, any, FieldValues>;
    register: import("react-hook-form").UseFormRegister<FieldValues>;
    setValue: import("react-hook-form").UseFormSetValue<FieldValues>;
    onChange: ((selectedItem: import("./types").TypeaheadValue, isSelected: boolean) => void) | undefined;
    handleClearAll: (e: React.MouseEvent) => void;
    handleOpenChange: (open: boolean, event: Event, reason?: import("@floating-ui/react").OpenChangeReason) => void;
    handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
    handleInputClick: React.MouseEventHandler<HTMLInputElement>;
    handleInputKeyDown: React.KeyboardEventHandler<HTMLInputElement>;
    handleRemoveSelectedClick: (value: string | number) => (e: React.MouseEvent) => void;
}>;
export declare const useTypeaheadContext: () => UseTypeaheadResult;
