import { Bounds, ImageFormat, TileMatrixSet, WmtsProvider } from '@basemaps/geo';
import { VNodeElement } from '@basemaps/shared';
import { TileSetRaster } from './tile.set.raster.js';
/**
 * Default the tile matrix id to the projection of the TileMatrixSet
 */
export declare function getTileMatrixId(tileMatrix: TileMatrixSet): string;
export interface WmtsCapabilitiesParams {
    httpBase: string;
    provider?: WmtsProvider;
    layers: TileSetRaster[];
    apiKey?: string;
    formats?: ImageFormat[];
}
export declare class WmtsCapabilities {
    httpBase: string;
    provider?: WmtsProvider;
    layers: Map<string, TileSetRaster[]>;
    apiKey?: string;
    tileMatrixSets: Map<string, TileMatrixSet>;
    formats: ImageFormat[];
    constructor(params: WmtsCapabilitiesParams);
    buildWgs84BoundingBox(layers: TileSetRaster[], tagName?: string): VNodeElement;
    buildBoundingBox(tms: TileMatrixSet, extent: Bounds): VNodeElement;
    buildProvider(): VNodeElement[];
    buildTileUrl(tileSet: TileSetRaster, suffix: string): string;
    buildResourceUrl(tileSet: TileSetRaster, suffix: string): VNodeElement;
    buildLayer(layers: TileSetRaster[]): VNodeElement;
    buildStyle(): VNodeElement;
    buildTileMatrixSet(tms: TileMatrixSet): VNodeElement;
    toVNode(): VNodeElement;
    toXml(): string;
}
//# sourceMappingURL=wmts.capability.d.ts.map