import React from "react";
import { TFunction } from "i18next";
import { Point } from "../config/interfaces";
import { TypeSvgElement } from "../types/types";
import { TypeCountry } from "../db/countries";
import { TypeCity } from "../db/cities";
/**
 * Default texts
 */
export declare const textDefaultWorldMapTitle = "World Map";
export declare const textDefaultWorldMapSubtitle = "";
export declare const textDefaultWorldMapSubtitleEmpty = "";
export declare const textNotAvailable = "n/a";
/**
 * Builds the id of the given place string.
 *
 * @param place
 */
export declare const getIdFromPlace: (place: string) => string;
/**
 * Get Point from event.
 *
 * @param event
 */
export declare const getPointFromEvent: (event: React.MouseEvent<SVGSVGElement, MouseEvent> | SVGSVGElementEventMap["mousedown"] | SVGSVGElementEventMap["mousemove"] | React.TouchEvent<SVGSVGElement> | SVGSVGElementEventMap["touchend"]) => Point;
/**
 * Get SVGPoint from svg.
 *
 * @param svg
 * @param point
 */
export declare const getSvgPointFromSvg: (svg: SVGSVGElement | null, point: Point) => SVGPoint | null;
/**
 * Get SVGElement from point
 *
 * @param point
 * @param svg
 * @param svgPoint
 * @param svgTypes
 * @param firstSvgType
 */
export declare const getSvgElementFromSvg: (svg: SVGSVGElement | null, point: Point, svgPoint: SVGPoint, svgTypes?: TypeSvgElement[], firstSvgType?: TypeSvgElement | null) => SVGElement | null;
/**
 * Remove hover class from path.country.
 */
export declare const removeHoverClassPathCountry: () => void;
/**
 * Remove hover class from circle.place.
 */
export declare const removeHoverClassCirclePlace: () => void;
/**
 * Remove hover class from g.place-group.
 */
export declare const removeHoverClassGPlaceGroup: () => void;
/**
 * Add hover class to given target element.
 *
 * @param target
 */
export declare const addHoverClass: (target: SVGElement | string) => void;
/**
 * Adds title to map.
 *
 * @param title
 */
export declare const addHoverTitle: (title: string) => void;
/**
 * Adds subtitle to map.
 *
 * @param subtitle
 * @param state
 * @param population
 * @param t
 */
export declare const addHoverSubtitle: (subtitle: string, state?: string | null, population?: number | null, t?: TFunction<"translation", undefined> | null) => void;
/**
 * Removes the title from map.
 */
export declare const removeTitle: () => void;
/**
 * Removes the subtitle.
 */
export declare const removeSubtitle: () => void;
/**
 * Adds default title to map.
 */
export declare const resetTitle: () => void;
/**
 * Returns the countryMap element by given id.
 *
 * @param id
 */
export declare const getCountryMapElement: (id: string | null) => TypeCountry | null;
/**
 * Returns the cityMap element by given id.
 *
 * @param id
 */
export declare const getCityMapElement: (id: string | null) => TypeCity | null;
