import { NgZone } from '@angular/core'; import { Observable } from 'rxjs'; import { BoundsLiteral } from '../interface/bounds'; import { CircleOptions } from '../interface/circle-options'; import { GeoPoint } from '../interface/geo-point'; import { MapOptions } from '../interface/map-options'; import { MarkerOptions } from '../interface/marker-options'; import { Padding } from '../interface/padding'; import { RectangleOptions } from '../interface/rectangle-options'; import { MapsAPILoader } from './maps-api-loader/maps-api-loader'; import * as i0 from "@angular/core"; export declare abstract class MapsApiWrapper { protected _loader: MapsAPILoader; protected _zone: NgZone; protected _api?: Promise; protected _mapResolver?: (value: T) => void; constructor(_loader: MapsAPILoader, _zone: NgZone); abstract createMap(el: HTMLElement, center: GeoPoint, options: MapOptions): void | Promise; abstract setMapOptions(options: MapOptions): void | Promise; abstract createMarker(position: GeoPoint, options?: MarkerOptions, addToMap?: boolean): Promise; abstract clearInstanceListeners(): void; getNativeMap(): Promise; abstract triggerMapEvent(eventName: string): Promise; abstract getCenter(): Promise; abstract setCenter(newCenter: GeoPoint): Promise; abstract panTo(newCenter: GeoPoint): Promise; abstract panToBounds(bounds: BoundsLiteral, boundsPadding?: number | Padding): void | Promise; abstract fitBounds(bounds: BoundsLiteral, boundsPadding?: number | Padding): void | Promise; abstract getBounds(): Promise; abstract getZoom(): Promise; abstract setZoom(zoom: number): Promise; abstract getMapTypeId(): Promise; abstract subscribeToMapEvent(eventName: string): Observable; abstract createInfoWindow(center: GeoPoint | null, options: any): Promise; abstract createDrawingManager(param: any, addToMap?: boolean): Promise; abstract createCircle(center: GeoPoint, options: CircleOptions): Promise; abstract createRectangle(box: BoundsLiteral, options: RectangleOptions): Promise; abstract createPolyline(options: any): Promise; abstract createPolygon(options: any): Promise; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }