import { InterfaceGeoJson, TypeBoundingBox } from "../types/types";
interface GeoJson2PathOptionsLazy {
    /** Which language should be used? */
    language?: string;
}
interface GeoJson2PathOptions {
    /** Which language should be used? */
    language: string;
}
export type TypeSvgPath = {
    type: "path";
    fill: string;
    stroke: string;
    "stroke-width": number;
    path: string;
    id: string | null;
    name: string;
};
export type TypeSvgCircle = {
    type: "circle";
    x: number;
    y: number;
    r: number;
    fill: string;
    name: string;
};
export type TypeSvgContent = {
    svgPaths: string;
    svgCircles: string;
    viewBoxLeft: number;
    viewBoxTop: number;
    viewBoxWidth: number;
    viewBoxHeight: number;
};
/**
 * Class GeoJson2Path.
 *
 * @author Björn Hempel <bjoern@hempel.li>
 * @version 0.1.0 (2024-07-15)
 * @since 0.1.0 (2024-07-15) First version.
 */
export declare class GeoJson2Path {
    options: GeoJson2PathOptions;
    /**
     * The constructor of WorldMapSvg.
     *
     * @param options
     */
    constructor(options?: GeoJson2PathOptionsLazy);
    /**
     * Invert function.
     *
     * @param y
     * @private
     */
    private invertY;
    /**
     * Converts given coordinates to svg path.
     *
     * @param coordinates
     * @private
     */
    private convertCoordsToPath;
    /**
     * Converts the given width to point size.
     *
     * @param width
     * @private
     */
    private mapWidthToPointSize;
    /**
     * Build TypeSvgPath and TypeSvgPath elements from given geoJSON object.
     *
     * @param geoJSON
     * @param country
     * @param boundingBoxWidth
     */
    convert(geoJSON: InterfaceGeoJson, country: string | null, boundingBoxWidth: number): (TypeSvgPath | TypeSvgCircle)[];
    /**
     * Generates the svg string.
     *
     * @param geoJSON
     * @param boundingBox
     * @param country
     */
    generateSVG(geoJSON: InterfaceGeoJson, boundingBox: TypeBoundingBox, country: string | null): TypeSvgContent;
}
export {};
