import type { FC } from 'react';
import type { FormControlProps } from '../FormControl';
import type { BaseProps, ForwardProps, TestIdProp } from '../../types';
import type { Bias, LatLng } from './Location.types';
import type { LocationViewProps } from './LocationView';
export interface LocationInputProps extends BaseProps, FormControlProps, TestIdProp {
    /**
     * Get user current location on component first render.
     * @default false
     */
    defaultToCurrentLocation?: boolean;
    /** The value of the location field. */
    value?: string;
    /**
     * Callback fired on every change of the location input.
     * The argument passed back is the component's value prop.
     */
    onChange?: (value: string) => void;
    /**
     * Callback fired when the control's input loses focus.
     * The argument passed back is the component's value prop.
     */
    onBlur?: (value: string) => void;
    /** Callback fired when user chooses location from the dropdown of suggestions or submits input value. */
    onSelect?: (value: {
        name?: string;
        address?: string;
        latitude?: number;
        longitude?: number;
    }) => void;
    /**
     * Only select coordinates on map clicks.
     * @default false
     */
    onlyCoordinates?: boolean;
    /** Biasing query results towards user location/preference. */
    bias?: Bias;
    /**
     * Set to true renders the map view below input.
     * @default false
     */
    map?: {
        /** Location coordinates used for the map view. */
        location?: LatLng;
        height: LocationViewProps['height'];
        zoomLevel?: LocationViewProps['zoomLevel'];
        onClick?: LocationViewProps['onClick'];
    };
    /** Callback fired when an error occurs. This function gets called with one argument of type Error. */
    onError?: (error: Error) => void;
}
declare const _default: FC<LocationInputProps & ForwardProps> & {
    getTestIds: (testIdProp?: string | null | undefined) => import("../../types").TestIdsRecord<readonly ["control", "label", "info", "additional-info", "suggestion-accept", "suggestion-reject"]>;
};
export default _default;
//# sourceMappingURL=LocationInput.d.ts.map