import { LayerJSONType } from '../Layer';
import TileLayer, { TileLayerOptionsType } from './TileLayer';
/**
* @classdesc
* Used to display [WMS]{https://en.wikipedia.org/wiki/Web_Map_Service} services as tile layers on the map. Extends [TileLayer]{@link TileLayer}.
* Implemented based on Leaflet's TileLayer.WMS.
* @category layer
* @extends TileLayer
* @param id - tile layer's id
* @param - options defined in [WMSTileLayer]{@link TileLayer#options}
* @example
* var layer = new maptalks.WMSTileLayer('wms', {
* 'urlTemplate' : 'https://demo.boundlessgeo.com/geoserver/ows',
* 'crs' : 'EPSG:3857',
* 'layers' : 'ne:ne',
* 'styles' : '',
* 'version' : '1.3.0',
* 'format': 'image/png',
* 'transparent' : true,
* 'uppercase' : true
* });
*/
declare class WMSTileLayer extends TileLayer {
wmsParams: WMSTileLayerOptionsType;
options: WMSTileLayerOptionsType;
constructor(id: string, options: WMSTileLayerOptionsType);
onAdd(): void;
getTileUrl(x: number, y: number, z: number): string;
/**
* Export the WMSTileLayer's json.
* It can be used to reproduce the instance by [fromJSON]{@link Layer#fromJSON} method
* @return layer's JSON
*/
toJSON(): LayerJSONType;
/**
* Reproduce a WMSTileLayer from layer's JSON.
* @param layerJSON - layer's JSON
* @return a WMSTileLayer instance
* @static
* @private
* @function
*/
static fromJSON(layerJSON: {
[x: string]: any;
}): WMSTileLayer;
}
export default WMSTileLayer;
export declare function getParamString(obj: Record, existingUrl: string, uppercase: boolean): string;
export type WMSTileLayerOptionsType = TileLayerOptionsType & {
service?: string;
layers?: string;
styles?: string;
format?: string;
transparent?: boolean;
version?: string;
crs?: string;
uppercase?: boolean;
detectRetina?: boolean;
width?: number;
height?: number;
};
//# sourceMappingURL=WMSTileLayer.d.ts.map