import { TileMatrixSet } from '@basemaps/geo';
import { BBox } from '@linzjs/geojson';
import { FilterDate } from './config.map.js';
export interface LonLat {
    lat: number;
    lon: number;
}
export interface MapLocation extends LonLat {
    /**
     * Current map zoom
     *
     * @example 11.94
     */
    zoom: number;
    /**
     * Current map bearing in degrees
     *
     * Between -180 and 180
     *
     * @default 0
     * @example -43.7
     */
    bearing?: number;
    /**
     * Current map pitch in degrees
     *
     * Between 0 and {@link LocationUrl.PitchMaxDegrees}
     *
     * @default 0
     * @example 12.7
     */
    pitch?: number;
    /**
     * Optional bounding box of the map's view
     */
    extent?: BBox;
}
export declare const enum MapOptionType {
    TileRaster = "raster",
    Style = "style",
    TileVectorXyz = "vector-xyz",
    TileWmts = "tile-wmts",
    Wmts = "wmts",
    Attribution = "attribution"
}
export interface TileUrlParams {
    urlType: MapOptionType;
    tileMatrix: TileMatrixSet;
    layerId: string;
    style?: string | null;
    config?: string | null;
    pipeline?: string | null;
    date?: FilterDate;
    imageFormat?: string | null;
    terrain?: string | null;
    labels?: boolean | null;
}
export declare function ensureBase58(s: null): null;
export declare function ensureBase58(s: string): string;
export declare function ensureBase58(s: string | null): string | null;
export declare const WindowUrl: {
    ImageFormat: string;
    baseUrl(): string;
    toBaseWmts(): string;
    toImageryUrl(layerId: string, imageryType: string): string;
    toTileUrl(params: TileUrlParams): string;
    toConfigUrl(layerId: string, config?: string | null): string;
    toConfigImageryUrl(layerId: string, imageryId: string, config?: string | null): string;
};
