import WMTS from 'ol/source/WMTS';
import TileLayer from 'ol/layer/Tile';
import type { Map } from 'ol';
import type { Layer as OLayer } from 'ol/layer';
import type LayerWmts from '../../../models/layers/layerwmts';
declare class WmtsManager {
    map: Map;
    wmtsCapabilitiesByServer: Record<string, Record<string, unknown>>;
    wmtsPromisesByServer: Record<string, Promise<Record<string, unknown>>>;
    wmtsAbortsByLayer: Record<string, AbortController>;
    wmtsLayers: Record<string, {
        olayer: OLayer;
        layerWmts: LayerWmts;
    }>;
    basemapLayers: Record<string, {
        olayer: OLayer;
        layerWmts: LayerWmts;
    }>;
    get state(): import("../../../tools/main").State;
    constructor(map: Map);
    removeAllBasemapLayers(): void;
    addLayer(layer: LayerWmts): void;
    addBasemapLayer(basemap: LayerWmts): void;
    private addLayerInternal;
    refreshZIndexes(): void;
    enrichWmtsLayerFromCapabilities(layer: LayerWmts, olayer: TileLayer<WMTS>, capabilities: Record<string, unknown>): void;
    removeLayer(layer: LayerWmts): void;
    layerExists(layer: LayerWmts): boolean;
    getLayer(layer: LayerWmts): OLayer<import("ol/source").Source, import("ol/renderer/Layer").default<any>> | null;
    changeOpacity(layer: LayerWmts, opacity: number): void;
    selectFeatures(extent: number[]): void;
    private getWmtsCapabilities;
}
export default WmtsManager;
