import WMTS from 'ol/source/WMTS.js';
import TileLayer from 'ol/layer/Tile.js';
import type { Map as olMap } from 'ol';
import type { Layer as OLayer } from 'ol/layer.js';
import type LayerWmts from '../../../models/layers/layerwmts.js';
import StateManager from '../../../tools/state/statemanager.js';
declare class WmtsManager {
    map: olMap;
    private readonly stateManager;
    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;
    }>;
    private get state();
    constructor(map: olMap, stateManager: StateManager);
    removeAllBasemapLayers(): void;
    addLayer(layer: LayerWmts): Promise<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.js").Source, import("ol/renderer/Layer.js").default<any>, {
        [x: string]: any;
    }> | null;
    changeOpacity(layer: LayerWmts): void;
    private manageLayerOptions;
    private createSelectionImageLayer;
    private getOrCreateLayersForOgcServer;
    private createQueryableWmsLayer;
    selectFeatures(extent: number[]): void;
    getWmtsCapabilities(url: string): Promise<Record<string, unknown>>;
}
export default WmtsManager;
