import { ConfigImagery, ConfigLayer, ConfigTileSet } from '@basemaps/config';
import { Bounds, ImageFormat, TileMatrixSet, WmtsProvider } from '@basemaps/geo';
import { VNodeElement } from '@basemaps/shared';
export interface WmtsCapabilitiesParams {
    /** Base URL for tile server */
    httpBase: string;
    provider?: WmtsProvider;
    /** Tileset to export into WMTS */
    tileSet: ConfigTileSet;
    /** List of tile matrixes to output */
    tileMatrix: TileMatrixSet[];
    /** Should WMTS Layers be created for each imagery set inside this tileSet */
    isIndividualLayers: boolean;
    /** All the imagery used by the tileSet and tileMatrixes */
    imagery: Map<string, ConfigImagery>;
    /** API key to append to all resource urls */
    apiKey?: string;
    /** Limit the output to the following image formats other wise @see ImageFormatOrder */
    formats?: ImageFormat[] | null;
    /** Config location */
    config?: string | null;
}
export declare class WmtsCapabilities {
    httpBase: string;
    provider?: WmtsProvider;
    tileSet: ConfigTileSet;
    apiKey?: string;
    config?: string | null;
    tileMatrixSets: Map<string, TileMatrixSet>;
    imagery: Map<string, ConfigImagery>;
    formats: ImageFormat[];
    isIndividualLayers: boolean;
    minZoom: number;
    maxZoom: number;
    constructor(params: WmtsCapabilitiesParams);
    buildWgs84BoundingBox(tms: TileMatrixSet, layers: Bounds[]): VNodeElement;
    /** Combine all the bounds of the imagery inside the layers into a extent for the imagery set */
    buildBoundingBoxFromImagery(tms: TileMatrixSet, layers: ConfigLayer[]): VNodeElement | null;
    buildProvider(): VNodeElement[];
    buildTileUrl(tileSetId: string, suffix: string): string;
    buildResourceUrl(tileSetId: string, suffix: string): VNodeElement;
    buildLayerFromImagery(layer: ConfigLayer): VNodeElement | null;
    buildLayer(layer: ConfigTileSet): VNodeElement;
    buildKeywords(tileSet: {
        category?: string;
    }): VNodeElement;
    buildStyle(): VNodeElement;
    buildTileMatrixSet(tms: TileMatrixSet): VNodeElement;
    toVNode(): VNodeElement;
    toXml(): string;
}
//# sourceMappingURL=wmts.capability.d.ts.map