import { NgZone } from '@angular/core'; import { Observable } from 'rxjs'; import { NgMapsCircleDirective } from '../../directives/circle'; import { BoundsLiteral } from '../../interface/bounds'; import { CircleOptions } from '../../interface/circle-options'; import { GeoPoint } from '../../interface/geo-point'; import { MapsApiWrapper } from '../maps-api-wrapper'; import * as i0 from "@angular/core"; export declare abstract class CircleManager { protected _apiWrapper: MapsApiWrapper; protected _zone: NgZone; protected _circles: Map>; constructor(_apiWrapper: MapsApiWrapper, _zone: NgZone); /** * @param circle */ abstract addCircle(circle: NgMapsCircleDirective): Promise | void; /** * Removes the given circle from the map. */ abstract removeCircle(circle: NgMapsCircleDirective): Promise; /** * @todo check how to improve type casting * @param circle instance of {@link NgMapsCircleDirective} * @param options options for the circle */ abstract setOptions(circle: NgMapsCircleDirective, options: CircleOptions): Promise; abstract getBounds(circle: NgMapsCircleDirective): Promise; abstract getCenter(circle: NgMapsCircleDirective): Promise; abstract getRadius(circle: NgMapsCircleDirective): Promise; abstract setCenter(circle: NgMapsCircleDirective): Promise; abstract setEditable(circle: NgMapsCircleDirective): Promise; abstract setDraggable(circle: NgMapsCircleDirective): Promise; abstract setVisible(circle: NgMapsCircleDirective): Promise; abstract setRadius(circle: NgMapsCircleDirective): Promise; abstract createEventObservable(eventName: string, circle: NgMapsCircleDirective): Observable; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵprov: i0.ɵɵInjectableDeclaration>; }