import { TypeTranslation } from "./_types/types";
import { PlaceData, Point } from "../config/interfaces";
/**
 * General types.
 */
export type TypeCityData = {
    [key: string]: TypeCity;
};
export type TypeCityType = "capital" | "state-capital" | "city";
export type TypeCitySize = "standard" | "smaller" | "bigger";
export type TypeCityCoordinate = {
    longitude: number;
    latitude: number;
};
/**
 * City type
 *
 * @see: JSON schema - src/components/WorldMap/db/cities/_schema/cities.schema.json
 */
export type TypeCity = {
    name: string;
    type: TypeCityType;
    state: string | null;
    country: string;
    coordinate: TypeCityCoordinate;
    coordinateDisplay?: TypeCityCoordinate;
    priority: number;
    population: number | null;
    translation: TypeTranslation;
    size: TypeCitySize;
};
/**
 * Returns all cities.
 */
export declare const getCities: () => TypeCity[];
/**
 * Convert cities to easy accessible array.
 */
export declare const getCityMap: () => TypeCityData;
/**
 * Returns the place by given place id.
 *
 * @param placeId
 */
export declare const getPlaceByPlaceId: (placeId: string) => TypeCity | null;
/**
 * Converts the given TypeCity to PlaceData.
 *
 * @param place
 * @param language
 * @param point
 * @param svgPoint
 */
export declare const getPlaceDataByPlace: (place: TypeCity, point?: Point | null, svgPoint?: SVGPoint | null, language?: string) => PlaceData;
