import type { MapOptions, StyleSpecification } from 'maplibre-gl';
import type { CenterZoomOptions, LayerSpecification, Layer, PoiMapData, PoiMapOptions, PopupConfigurationByLayers } from './types';
export declare const getMapStyle: (style: PoiMapOptions['style']) => MapOptions['style'];
export declare const getMapSources: (sources: PoiMapData['sources']) => StyleSpecification['sources'];
export declare const getMapLayers: (layers?: Layer[] | undefined) => LayerSpecification[];
export declare const getPopupConfigurationByLayers: (layers?: Layer[] | undefined) => PopupConfigurationByLayers;
export declare const getMapOptions: (options: PoiMapOptions) => {
    aspectRatio: number;
    bbox: import("geojson").BBox | undefined;
    zoom: number | undefined;
    minZoom: number | undefined;
    maxZoom: number | undefined;
    center: import("maplibre-gl").LngLatLike | undefined;
    interactive: boolean;
    title: string | undefined;
    subtitle: string | undefined;
    description: string | undefined;
    legend: import("../..").CategoryLegend | undefined;
    sourceLink: import("../types").Source | undefined;
    transformRequest: import("maplibre-gl").RequestTransformFunction | undefined;
    cooperativeGestures: boolean | import("maplibre-gl").GestureOptions | undefined;
    images: import("./types").Images | undefined;
};
/**
 * Generates a valid CenterZoomOptions object by combining optional zoom and center properties.
 *
 * @param options - An object with optional zoom and center properties.
 * @returns A CenterZoomOptions object with valid zoom and center properties is defined.
 */
export declare const getCenterZoomOptions: (options: CenterZoomOptions) => CenterZoomOptions;
