import type { Coordinate } from 'ol/coordinate.js';
import type { Footage, PointOfView, StreetViewProviderAdapter } from './provider.js';
declare const MAPS_API_LOADED_CALLBACK = "girafeGoogleMapsApiLoaded";
declare global {
    interface Window {
        [MAPS_API_LOADED_CALLBACK]?: () => void;
    }
}
/**
 * The Google Street View footage, displayed by a StreetViewPanorama.
 * This module is the only place where the Google Maps API is used. It is loaded on demand
 * by the StreetView Component, so that the API stays out of the application as long as
 * no Google StreetView is displayed.
 */
export default class GoogleStreetViewProvider implements StreetViewProviderAdapter {
    private readonly apiKey;
    private service;
    private panorama;
    private nearest;
    constructor(apiKey: string);
    initialize(target: HTMLElement, onFootageChanged: (footage: Footage) => void): Promise<void>;
    private getFootage;
    showClosestFootage(lonLat: Coordinate, radius: number, pov?: PointOfView): Promise<boolean>;
    setVisible(visible: boolean): void;
}
export {};
