import { Map as MaplibreMap, StyleSpecification } from 'maplibre-gl';
import { CirclePaint, Map as MapboxMap } from 'mapbox-gl';
import { AttributionOptions, DPIType, FormatType, NorthIconOptions, SizeType, UnitType } from './interfaces';
export declare const defaultMarkerCirclePaint: CirclePaint;
export declare const defaultAttributionOptions: AttributionOptions;
export declare const defaultNorthIconOptions: NorthIconOptions;
export declare abstract class MapGeneratorBase {
    protected map: MaplibreMap | MapboxMap;
    protected width: number;
    protected height: number;
    protected dpi: number;
    protected format: FormatType;
    protected unit: UnitType;
    protected fileName: string;
    protected markerClassName: string;
    protected markerCirclePaint: CirclePaint;
    protected attributionClassName: string;
    protected attributionOptions: AttributionOptions;
    protected northIconOptions: NorthIconOptions;
    constructor(map: MaplibreMap | MapboxMap, size?: SizeType, dpi?: DPIType, format?: FormatType, unit?: UnitType, fileName?: string, markerClassName?: string, markerCirclePaint?: {
        "circle-radius"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<number>;
        "circle-radius-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-color"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<import("mapbox-gl").ColorSpecification>;
        "circle-color-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-color-use-theme"?: import("mapbox-gl").PropertyValueSpecification<string>;
        "circle-blur"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<number>;
        "circle-blur-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-opacity"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<number>;
        "circle-opacity-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-translate"?: import("mapbox-gl").PropertyValueSpecification<[number, number]>;
        "circle-translate-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-translate-anchor"?: import("mapbox-gl").PropertyValueSpecification<"map" | "viewport">;
        "circle-pitch-scale"?: import("mapbox-gl").PropertyValueSpecification<"map" | "viewport">;
        "circle-pitch-alignment"?: import("mapbox-gl").PropertyValueSpecification<"map" | "viewport">;
        "circle-stroke-width"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<number>;
        "circle-stroke-width-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-stroke-color"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<import("mapbox-gl").ColorSpecification>;
        "circle-stroke-color-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-stroke-color-use-theme"?: import("mapbox-gl").PropertyValueSpecification<string>;
        "circle-stroke-opacity"?: import("mapbox-gl").DataDrivenPropertyValueSpecification<number>;
        "circle-stroke-opacity-transition"?: import("mapbox-gl").TransitionSpecification;
        "circle-emissive-strength"?: import("mapbox-gl").PropertyValueSpecification<number>;
        "circle-emissive-strength-transition"?: import("mapbox-gl").TransitionSpecification;
    } | undefined, attributionClassName?: string, attributionOptions?: AttributionOptions, northIconOptions?: NorthIconOptions);
    protected abstract getRenderedMap(container: HTMLElement, style: StyleSpecification | mapboxgl.Style): MaplibreMap | MapboxMap;
    protected renderMapPost(renderMap: MaplibreMap | MapboxMap): MaplibreMap | MapboxMap;
    private getMarkers;
    protected renderMarkers(renderMap: MaplibreMap | MapboxMap): MaplibreMap | MapboxMap;
    generate(): void;
    private stripHtml;
    private getIconWidth;
    private getElementPosition;
    private addNorthIconImage;
    private addNorthIconToMap;
    private addAttributions;
    private exportImage;
    private toPNG;
    private toJPEG;
    private toPDF;
    private toSVG;
    private toPixels;
    private addLoader;
    private showLoader;
    private hideLoader;
}
//# sourceMappingURL=map-generator-base.d.ts.map