import * as svg from '../svg/render';
import { BoundingBox } from '@targomo/core';
import { MultipolygonData } from '../geometry/types';
import { ProjectedBoundsData } from '../geometry/projectedPolygon';
export interface PolygonOverlayElementPlugin {
    getZoom(): number;
    getViewPort(): ProjectedBoundsData;
    getElementPixels(bounds: BoundingBox): ProjectedBoundsData;
}
/**
 *
 */
export declare class PolygonOverlayElement {
    private plugin;
    private options;
    private divElement;
    bounds: BoundingBox;
    private model;
    private renderTimeout;
    private currentPixelBounds;
    /**
     *
     * @param map
     */
    constructor(plugin: PolygonOverlayElementPlugin, options: svg.PolygonRenderOptionsData);
    getElement(): HTMLDivElement;
    /**
     *
     */
    draw(immediately?: boolean): void;
    private resize;
    /**
     *
     */
    initElement(): HTMLDivElement;
    /**
     *
     */
    onRemove(): void;
    /**
     *
     * @param multipolygon
     */
    setData(multipolygon: MultipolygonData[]): void;
    setInverse(inverse: boolean): void;
    setColors(colors: {
        [edgeWeight: number]: string;
    }): void;
    setOpacity(opacity: number): void;
    setStrokeWidth(strokeWidth: number): void;
    private boundsCalculation;
    private render;
}
