/*!
 * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
 * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
 *
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *
 * See the License for the specific language governing permissions and limitations under the License.
 */
import { AutocompleteRenderInputParams, AutocompleteValue } from "@mui/material";
import { AutocompleteProps } from "./Autocomplete.js";
export type UseAutocompleteProps<OptionType, HasMultipleChoices extends boolean | undefined, IsCustomValueAllowed extends boolean | undefined> = Pick<AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>, "ariaDescribedBy" | "defaultValue" | "errorMessage" | "errorMessageList" | "hasMultipleChoices" | "hint" | "HintLinkComponent" | "inputValue" | "isFullWidth" | "isOptional" | "isVirtualized" | "label" | "name" | "testId" | "value">;
export declare const useAutocomplete: <OptionType, HasMultipleChoices extends boolean | undefined, IsCustomValueAllowed extends boolean | undefined>({ ariaDescribedBy, defaultValue, errorMessage, errorMessageList, hasMultipleChoices, hint, HintLinkComponent, inputValue, isFullWidth, isOptional, isVirtualized: isVirtualizedProp, label, name: nameOverride, testId, value, }: UseAutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {
    inputValueProp: {
        inputValue: string | undefined;
    } | undefined;
    isVirtualizedRef: import("react").MutableRefObject<boolean>;
    renderInput: ({ InputLabelProps, InputProps, ...params }: AutocompleteRenderInputParams) => import("@emotion/react/jsx-runtime").JSX.Element;
    valueProps: {
        defaultValue: AutocompleteValue<OptionType, HasMultipleChoices, undefined, IsCustomValueAllowed> | undefined;
        value?: undefined;
    } | {
        defaultValue?: undefined;
        value: AutocompleteValue<OptionType, HasMultipleChoices, undefined, IsCustomValueAllowed> | undefined;
    };
};
//# sourceMappingURL=useAutocomplete.d.ts.map