/// <reference types="react" />
import { BaseItem } from '@algolia/autocomplete-core';
import { AutocompleteClassNames, AutocompleteOptions, AutocompleteRender, AutocompleteRenderer } from './types';
export declare function getDefaultOptions<TItem extends BaseItem>(options: AutocompleteOptions<TItem>): {
    renderer: {
        classNames: AutocompleteClassNames;
        container: HTMLElement;
        getEnvironmentProps: (params: {
            props: {
                onTouchStart(event: TouchEvent): void;
                onTouchMove(event: TouchEvent): void;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            onTouchStart(event: TouchEvent): void;
            onTouchMove(event: TouchEvent): void;
        };
        getFormProps: (params: {
            props: {
                action: "";
                noValidate: true;
                role: "search";
                onSubmit(event: Event): void;
                onReset(event: Event): void;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            action: "";
            noValidate: true;
            role: "search";
            onSubmit(event: Event): void;
            onReset(event: Event): void;
        };
        getInputProps: (params: {
            props: {
                id: string;
                value: string;
                autoFocus: boolean;
                placeholder: string;
                autoComplete: "on" | "off";
                autoCorrect: "on" | "off";
                autoCapitalize: "on" | "off";
                enterKeyHint: "go" | "search";
                spellCheck: "false";
                maxLength: number;
                type: "search";
                'aria-autocomplete': "list" | "none" | "inline" | "both";
                'aria-activedescendant': string | undefined;
                'aria-controls': string | undefined;
                'aria-labelledby': string;
                onChange(event: Event): void;
                onKeyDown(event: KeyboardEvent): void;
                onFocus(event: Event): void;
                onBlur(): void;
                onClick(event: MouseEvent): void;
            };
            inputElement: HTMLInputElement;
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            id: string;
            value: string;
            autoFocus: boolean;
            placeholder: string;
            autoComplete: "on" | "off";
            autoCorrect: "on" | "off";
            autoCapitalize: "on" | "off";
            enterKeyHint: "go" | "search";
            spellCheck: "false";
            maxLength: number;
            type: "search";
            'aria-autocomplete': "list" | "none" | "inline" | "both";
            'aria-activedescendant': string | undefined;
            'aria-controls': string | undefined;
            'aria-labelledby': string;
            onChange(event: Event): void;
            onKeyDown(event: KeyboardEvent): void;
            onFocus(event: Event): void;
            onBlur(): void;
            onClick(event: MouseEvent): void;
        };
        getItemProps: (params: {
            props: {
                id: string;
                role: string;
                'aria-selected': boolean;
                onMouseMove(event: MouseEvent): void;
                onMouseDown(event: MouseEvent): void;
                onClick(event: MouseEvent): void;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            id: string;
            role: string;
            'aria-selected': boolean;
            onMouseMove(event: MouseEvent): void;
            onMouseDown(event: MouseEvent): void;
            onClick(event: MouseEvent): void;
        };
        getLabelProps: (params: {
            props: {
                htmlFor: string;
                id: string;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            htmlFor: string;
            id: string;
        };
        getListProps: (params: {
            props: {
                role: string;
                'aria-labelledby': string;
                id: string;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            role: string;
            'aria-labelledby': string;
            id: string;
        };
        getPanelProps: (params: {
            props: {
                onMouseDown(event: MouseEvent): void;
                onMouseLeave(): void;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            onMouseDown(event: MouseEvent): void;
            onMouseLeave(): void;
        };
        getRootProps: (params: {
            props: {
                role: string;
                'aria-expanded': boolean;
                'aria-haspopup': boolean | "dialog" | "menu" | "false" | "true" | "grid" | "listbox" | "tree" | undefined;
                'aria-owns': string | undefined;
                'aria-labelledby': string;
            };
        } & {
            state: import("./types").AutocompleteState<TItem>;
        } & import("@algolia/autocomplete-core").AutocompleteScopeApi<TItem>) => {
            role: string;
            'aria-expanded': boolean;
            'aria-haspopup': boolean | "dialog" | "menu" | "false" | "true" | "grid" | "listbox" | "tree" | undefined;
            'aria-owns': string | undefined;
            'aria-labelledby': string;
        };
        panelContainer: HTMLElement;
        panelPlacement: "start" | "end" | "full-width" | "input-wrapper-width";
        render: AutocompleteRender<any> | AutocompleteRender<TItem>;
        renderNoResults: AutocompleteRender<TItem> | undefined;
        renderer: AutocompleteRenderer;
        detachedMediaQuery: string;
        components: {
            [x: string]: (props: any) => JSX.Element;
            Highlight: <THit>({ hit, attribute, tagName, }: import("./types").HighlightHitParams<THit>) => JSX.Element;
            ReverseHighlight: <THit>({ hit, attribute, tagName, }: import("./types").HighlightHitParams<THit>) => JSX.Element;
            ReverseSnippet: <THit>({ hit, attribute, tagName, }: import("./types").HighlightHitParams<THit>) => JSX.Element;
            Snippet: <THit>({ hit, attribute, tagName, }: import("./types").HighlightHitParams<THit>) => JSX.Element;
        };
        translations: {
            detachedCancelButtonText: string;
            clearButtonTitle: string;
            submitButtonTitle: string;
        };
    };
    core: {
        id: string;
        environment: Window;
        getSources?: import("./types").GetSources<TItem> | undefined;
        initialState?: Partial<import("./types").AutocompleteState<TItem>> | undefined;
        onStateChange?(props: import("./types").OnStateChangeProps<TItem>): void;
        plugins?: import("./types").AutocompletePlugin<any, any>[] | undefined;
        debug?: boolean | undefined;
        placeholder?: string | undefined;
        autoFocus?: boolean | undefined;
        defaultActiveItemId?: number | null | undefined;
        openOnFocus?: boolean | undefined;
        stallThreshold?: number | undefined;
        navigator?: Partial<import("@algolia/autocomplete-core/dist/esm/types/AutocompleteNavigator").AutocompleteNavigator<TItem>> | undefined;
        shouldPanelOpen?(params: {
            state: import("@algolia/autocomplete-core").AutocompleteState<TItem>;
        }): boolean;
        onSubmit?(params: import("@algolia/autocomplete-core").OnSubmitParams<TItem>): void;
        onReset?(params: import("@algolia/autocomplete-core").OnResetParams<TItem>): void;
        reshape?: import("@algolia/autocomplete-core").Reshape<TItem, import("@algolia/autocomplete-core").AutocompleteState<TItem>> | undefined;
    };
};
