import { ReplaySubject } from 'rxjs';
import { MapsAPILoader } from '@ng-maps/core';
import { GoogleModuleOptions } from './options';
import * as i0 from "@angular/core";
export declare class GoogleMapsScriptLoader extends MapsAPILoader {
    protected _scriptLoadingPromise?: Promise<void>;
    protected _config: ReplaySubject<GoogleModuleOptions>;
    protected readonly _SCRIPT_ID: string;
    protected readonly callbackName: string;
    constructor(config: GoogleModuleOptions, document: any);
    /**
     * If no configuration is provided at load time you can use this function to provide configuration at any time.
     * Loading scripts will be postponed until a configuration is provided
     *
     * @param config - {@link GoogleModuleOptions} configuration needed for bootstrapping
     */
    configure(config: GoogleModuleOptions): void;
    load(): Promise<void>;
    protected checkScriptElement(): Promise<void>;
    protected assignScriptLoadingPromise(scriptElement: HTMLScriptElement): Promise<void>;
    protected createScriptElement(): Promise<HTMLScriptElement>;
    protected _getScriptSrc(callbackName: string): Promise<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<GoogleMapsScriptLoader, [{ optional: true; }, null]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GoogleMapsScriptLoader>;
}
