/** @packageDocumentation
 * @module Views
 */
import { MapSubLayerProps } from "@itwin/core-common";
import { RequestBasicCredentials } from "../../../request/Request";
import { MapCartoRectangle } from "../../../tile/internal";
/** Encapsulation of the capabilities for an WMS server
 */
export declare namespace WmsCapability {
    class Service {
        readonly name: string;
        readonly title?: string;
        readonly abstract?: string;
        readonly onlineResource?: string;
        readonly contactInformation?: string;
        readonly accessConstraints?: string;
        constructor(json: any);
    }
    class Layer {
        readonly queryable: boolean;
        readonly title?: string;
        readonly srs?: string[];
        readonly cartoRange?: MapCartoRectangle;
        readonly subLayers: SubLayer[];
        private static readonly PREFIX_SEPARATOR;
        constructor(json: any, capabilities: WmsCapabilities);
        getSubLayers(visible?: boolean): MapSubLayerProps[];
        getSubLayersCrs(layerNameFilter: string[]): Map<string, string[]>;
    }
    class SubLayer {
        readonly parent?: SubLayer | undefined;
        readonly name: string;
        readonly title: string;
        readonly crs: string[];
        readonly ownCrs: string[];
        readonly cartoRange?: MapCartoRectangle;
        readonly children?: SubLayer[];
        readonly queryable: boolean;
        constructor(_json: any, capabilities: WmsCapabilities, parent?: SubLayer | undefined);
    }
}
export declare class WmsCapabilities {
    private _json;
    private static _capabilitiesCache;
    readonly service: WmsCapability.Service;
    readonly version?: string;
    readonly isVersion13: boolean;
    readonly layer?: WmsCapability.Layer;
    get json(): any;
    get maxLevel(): number;
    get cartoRange(): MapCartoRectangle | undefined;
    get featureInfoSupported(): boolean;
    get featureInfoFormats(): string[] | undefined;
    constructor(_json: any);
    static create(url: string, credentials?: RequestBasicCredentials, ignoreCache?: boolean, queryParams?: {
        [key: string]: string;
    }): Promise<WmsCapabilities | undefined>;
    getSubLayers(visible?: boolean): undefined | MapSubLayerProps[];
    getSubLayersCrs(subLayerNames: string[]): Map<string, string[]> | undefined;
}
//# sourceMappingURL=WmsCapabilities.d.ts.map