import { NgZone } from '@angular/core';
import { Observable } from 'rxjs';
import { BoundsLiteral, MapsApiWrapper, NgMapsRectangleDirective, RectangleManager } from '@ng-maps/core';
import * as i0 from "@angular/core";
export declare class GoogleRectangleManager extends RectangleManager<google.maps.Rectangle> {
    constructor(_mapsWrapper: MapsApiWrapper, _zone: NgZone);
    addRectangle(rectangle: NgMapsRectangleDirective): void;
    /**
     * Removes the given rectangle from the map.
     */
    removeRectangle(rectangle: NgMapsRectangleDirective): Promise<void>;
    setOptions(rectangle: NgMapsRectangleDirective, options: google.maps.RectangleOptions): Promise<void>;
    getBounds(rectangle: NgMapsRectangleDirective): Promise<BoundsLiteral | null>;
    setBounds(rectangle: NgMapsRectangleDirective): Promise<void>;
    setEditable(rectangle: NgMapsRectangleDirective): Promise<void>;
    setDraggable(rectangle: NgMapsRectangleDirective): Promise<void>;
    setVisible(rectangle: NgMapsRectangleDirective): Promise<void>;
    createEventObservable<T>(eventName: string, rectangle: NgMapsRectangleDirective): Observable<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<GoogleRectangleManager, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<GoogleRectangleManager>;
}
