import * as svg from '../svg/render';
import { MultipolygonData } from '../geometry/types';
import { PolygonRenderColorOption } from '../svg/options';
export declare class GoogleMapsPolygonOverlayOptions extends svg.PolygonRenderOptionsData {
}
/**
 * Icochrome layer for google maps
 */
export declare class TgmGoogleMapsPolygonOverlay extends google.maps.OverlayView {
    private map;
    private element;
    private readyResolve;
    private readyPromise;
    private options;
    private idleListener;
    /**
     *
     * @param map
     */
    constructor(map: google.maps.Map, options?: Partial<GoogleMapsPolygonOverlayOptions>);
    onAdd(): void;
    onRemove(): void;
    /**
     *
     * @param multipolygon
     */
    setData(multipolygon: MultipolygonData[]): Promise<void>;
    /**
     *
     */
    draw(immediately?: boolean): void;
    /**
     *
     * @param inverse
     */
    setInverse(inverse: boolean): void;
    /**
     *
     * @param colors
     */
    setColors(colors: {
        [edgeWeight: number]: PolygonRenderColorOption;
    }): void;
    /**
     *
     * @param opacity
     */
    setOpacity(opacity: number): void;
    /**
     *
     * @param strokeWidth
     */
    setStrokeWidth(strokeWidth: number): void;
}
