import { TileMatrixSet } from '@basemaps/geo';
export interface LonLat {
    lat: number;
    lon: number;
}
export interface MapLocation extends LonLat {
    zoom: number;
}
export declare const enum MapOptionType {
    TileRaster = "raster",
    Style = "style",
    TileVectorXyz = "vector-xyz",
    TileWmts = "tile-wmts",
    Wmts = "wmts",
    Attribution = "attribution"
}
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;
    /**
     * Encode a location into the window.hash
     * Google uses ${lat},${lon},z${zoom}
     * TODO do we want to follow this
     */
    toHash(loc: MapLocation): string;
    /**
     * Support parsing of zooms with `z14` or `14z`
     * @param zoom string to parse zoom from
     */
    parseZoom(zoom: string | null): number;
    /** Parse a location from window.hash if it exists */
    fromHash(str: string): Partial<MapLocation>;
    baseUrl(): string;
    toBaseWmts(): string;
    toImageryUrl(layerId: string, imageryType: string): string;
    toTileUrl(urlType: MapOptionType, tileMatrix: TileMatrixSet, layerId: string, style?: string | null, config?: string | null): string;
    toConfigUrl(layerId: string, config?: string | null): string;
    toConfigImageryUrl(layerId: string, imageryId: string, config?: string | null): string;
};
//# sourceMappingURL=url.d.ts.map