import { InterfaceGeoJson, TypeBoundingBox, TypeSvgContent, TypeSvgCountry, TypeSvgPlace } from "../types/types";
interface GeoJson2PathOptionsLazy {
    /** Which language should be used? */
    language?: string;
}
interface GeoJson2PathOptions {
    /** Which language should be used? */
    language: string;
}
/**
 * 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);
    /**
     * Build TypeSvgPath and TypeSvgPath elements from given geoJSON object.
     *
     * @param geoJSON
     * @param country
     * @param boundingBoxWidth
     */
    convert(geoJSON: InterfaceGeoJson, country: string | null, boundingBoxWidth: number): (TypeSvgCountry | TypeSvgPlace)[];
    /**
     * Generates the svg string.
     *
     * @param geoJSON
     * @param boundingBox
     * @param country
     */
    generateSVG(geoJSON: InterfaceGeoJson, boundingBox: TypeBoundingBox, country: string | null): TypeSvgContent;
    /**
     * 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 country element (svg path element).
     *
     * @param element
     * @private
     */
    private getSvgCountry;
    /**
     * Build place element (svg circle and text group element).
     *
     * @param element
     * @private
     */
    private getSvgPlace;
    /**
     * Returns the SVG place class name.
     *
     * @param cityType
     * @private
     */
    private getSvgPlaceClassNameType;
    /**
     * Returns the SVG place class name.
     *
     * @param cityType
     * @private
     */
    private getSvgPlaceTextDistance;
}
export {};
