/// <reference types="googlemaps" />
import { EventPublisher } from '@boldadmin/event-publisher';
import { AngularGoogleMapsGeocoder } from './angular-google-maps-geocoder.service';
import { GoogleMapsFactory } from './google-maps-factory.service';
import CircleOptions = google.maps.CircleOptions;
import MapOptions = google.maps.MapOptions;
import MarkerOptions = google.maps.MarkerOptions;
import PolylineOptions = google.maps.PolylineOptions;
export declare class AngularGoogleMapsBuilder {
    private googleMapsFactory;
    private geocoder;
    private eventPublisher;
    private map;
    private marker;
    private circle;
    constructor(googleMapsFactory: GoogleMapsFactory, geocoder: AngularGoogleMapsGeocoder, eventPublisher: EventPublisher);
    createMap(mapOptions: MapOptions): this;
    addCenterMarker(markerOptions: MarkerOptions): this;
    addCircle(circleOptions: CircleOptions): this;
    addPolyline(polylineOptions: PolylineOptions): this;
    addMarker(markerOptions: MarkerOptions): this;
    bindCircleToMarker(): this;
    hideMarker(): this;
    hideCircle(): this;
    addSearchBox(): this;
    private addMarkerListeners;
    private notifyLocationChange;
    private getRadius;
    private getCoordinates;
    private changeMapLocationAndZoom;
    private changeMarkerLocation;
    private reverseGeocode;
}
