import { SICVectorLayer } from '../models/vector-layer';
import { SICWmsLayer } from '../models/wms-layer';
import { SICArcgisLayer } from '../models/arcgis-layer';
export declare enum LayerType {
    WMS_LAYER = 0,
    VECTOR_LAYER = 1,
    ARGIS_REST_LAYER = 2
}
export declare enum WmsType {
    IMAGE = 0,
    TILE = 1
}
export declare type WmsServerType = 'mapserver' | 'geoserver' | 'qgis';
export interface WMSOptions {
    wmsType?: WmsType;
    serverType?: WmsServerType;
    serverUrl?: string;
    serviceName?: string;
    legend?: string;
    attribution?: string;
}
export declare class LayerFactory {
    static createLayer(type: LayerType, title: string, options?: WMSOptions): SICVectorLayer | SICWmsLayer | SICArcgisLayer;
    static createVectorLayer(title: string): SICVectorLayer;
    static createWmsLayer(title: string, wmsType: WmsType, serverType: WmsServerType, serverUrl: string, serviceName: string, legend?: string, attribution?: string): SICWmsLayer;
    static createArgisLayer(title: string, serverUrl: string, legend?: string, attribution?: string): SICArcgisLayer;
}
