import type { JSX } from "../../stencil-public-runtime";
import type { Coordinates } from "@what3words/api";
import { ApiVersion } from "@what3words/api";
import type { GoogleMapsLibraries, MapProviderName } from "./domain";
import type { ViewType } from "./providers/abstract";
export declare class What3wordsMap {
    el: HTMLWhat3wordsMapElement;
    api_key: string;
    headers: string;
    base_url: string;
    api_version: ApiVersion;
    /**
     * The three word address to load after initial map render. If empty, map will remain at the provided/default lat, lng values
     */
    words: string;
    map_provider: MapProviderName;
    map_api_key: string;
    version: string;
    libraries: GoogleMapsLibraries;
    /**
     * Passed to the maps provider sdk. Also used as the default w3w language.
     * Cross-compatible language support is not guaranteed between the map provider and w3w sdks.
     * w3w language default behavior can be overridden by setting the what3words-autosuggest language prop to a supported language.
     * See https://developers.google.com/maps/faq#languagesupport
     * See https://developer.what3words.com/public-api/docs#available-languages
     */
    language: string;
    region: string;
    /**
     * Latitude value used on initial map render. Defaults to What3Words HQ latitude.
     */
    lat: number;
    /**
     * Longitude value used on initial map render. Defaults to What3Words HQ longitude.
     */
    lng: number;
    tilt: number;
    disable_default_ui?: boolean;
    zoom: number;
    zoom_control?: boolean;
    zoom_control_position: number;
    map_type_id?: ViewType;
    map_type_control?: boolean;
    map_type_control_position: number;
    scale_control?: boolean;
    street_view_control?: boolean;
    street_view_control_position: number;
    rotate_control?: boolean;
    rotate_control_position: number;
    fullscreen_control?: boolean;
    fullscreen_control_position: number;
    search_control_position: number;
    current_location_control_position: number;
    selected_zoom: number;
    current_location?: boolean;
    watch_location?: boolean;
    marker_icon: string;
    /** Reset map level zoom to selected_zoom after panning to user-selected autosuggest suggestion */
    reset_zoom_on_select?: boolean;
    private selected_square;
    private coordinates_changed;
    private __load;
    private __error;
    private searchControlSlot;
    private currentLocationControlSlot;
    private zoomControlSlot;
    private mapTypeControlSlot;
    private mapLoaded;
    private input;
    private autosuggest;
    private placesSuggestions;
    private apiRequestTimeout;
    private watch_id;
    private provider;
    private current_location_coordinates;
    private w3wLanguage;
    private clients;
    setApiKey(key: string): Promise<void>;
    setBaseUrl(host: string): Promise<void>;
    setHeaders(value: string): Promise<void>;
    setApiVersion(api_version: ApiVersion): Promise<void>;
    setWords(words: string): Promise<void>;
    clearGrid(): Promise<void>;
    getLat(): Promise<number | undefined>;
    setCoordinates(newCoordinateValue: number, _oldCoordinateValue: number, propName: string): Promise<void>;
    getLng(): Promise<number | undefined>;
    setZoom(zoom: number): Promise<void>;
    getZoom(): Promise<number | undefined>;
    getBounds(): Promise<google.maps.LatLngBoundsLiteral>;
    panTo(coordinates: Coordinates): Promise<void>;
    setMapTypeId(map_type_id: ViewType): Promise<void>;
    private setMapControlPosition;
    private setSearchControlPosition;
    private setCurrentLocationControlPosition;
    private setMapTypeControlPosition;
    private setZoomControlPosition;
    private setFullscreenControlPosition;
    private setStreetViewControlPosition;
    private setRotateControlPosition;
    private handlePlacesSuggestions;
    private validateCoordinates;
    private onLoad;
    private onSelectedCoordinates;
    private initProvider;
    private watchMapVersion;
    private watchMapApiKey;
    private watchMapLibraries;
    private watchMapLanguage;
    private watchMapRegion;
    private setMapLoaded;
    private onCurrentPositionSuccess;
    private onCurrentPositionFailure;
    private watchPosition;
    private clearWatchPosition;
    private getCurrentPosition;
    private addMapEventListeners;
    private setupAutosuggest;
    private addAutosuggestEventListeners;
    private removeAutosuggestEventListeners;
    private removeMapEventListeners;
    private addCurrentLocationEventListeners;
    private removeCurrentLocationEventListeners;
    private plotGrid;
    private onChangePosition;
    private onSelectedSuggestion;
    private onCustomSelect;
    private onControlFocus;
    private onValueValid;
    private onValueInvalid;
    private setInputValue;
    private createProvider;
    private onProviderInit;
    private getComponentHeaders;
    connectedCallback(): void;
    disconnectedCallback(): void;
    render(): JSX.Element;
}
