import { TileMatrixSet } from '@basemaps/geo';
import { StyleSpecification } from 'maplibre-gl';
import { MapLocation } from './url.js';
export declare class TileGrid {
    tileMatrix: TileMatrixSet;
    extraZoomLevels: number;
    constructor(tileMatrix: TileMatrixSet, extraZoomLevels?: number);
    getStyle(layerId: string, style?: string | null, config?: string | null): StyleSpecification | string;
}
export declare function getTileGrid(id: string): TileGrid;
/**
 * Transform the location coordinate between maplibre and another tileMatrix.
 *
 * One of the tileMatrix or targetTileMatrix has to be GoogleTms
 */
export declare function locationTransform(location: MapLocation, tileMatrix: TileMatrixSet, targetTileMatrix: TileMatrixSet): MapLocation;
/**
 * Project a geojson object into the target tile matrix with use with maplibre
 *
 * *Warning* This will overwrite the existing object
 */
export declare function projectGeoJson(g: GeoJSON.FeatureCollection, targetTileMatrix: TileMatrixSet): void;
//# sourceMappingURL=tile.matrix.d.ts.map