import WfsFilter from '../../tools/wfs/wfsfilter';
import { GMFTreeItem } from '../gmf';
import ServerOgc from '../serverogc';
import ILayerWithFilter from './ilayerwithfilter';
import ILayerWithLegend from './ilayerwithlegend';
import ILayerWithTime from './ilayerwithtime';
import ITimeOptions from '../../tools/time/itimeoptions';
import Layer from './layer';
export type LayerWmsOptions = {
    isDefaultChecked?: boolean;
    disclaimer?: string;
    metadataUrl?: string;
    opacity?: number;
    protected?: boolean;
    minResolution?: number;
    maxResolution?: number;
    layers?: string;
    style?: string;
    legend?: boolean;
    iconUrl?: string;
    legendRule?: string;
    legendImage?: string;
    isLegendExpanded?: boolean;
    wasLegendExpanded?: boolean;
    hiDPILegendImages?: Record<string, string>;
    printNativeAngle?: boolean;
    queryable?: boolean;
    queryLayers?: string;
    time?: ITimeOptions;
    timeAttribute?: string;
    editable?: string;
};
declare class LayerWms extends Layer implements ILayerWithLegend, ILayerWithFilter, ILayerWithTime {
    /**
     * This class is a used in the state of the application, which will be accessed behind a javascript proxy.
     * This means that each modification made to its properties must come from outside,
     * because they have to be made through the proxy, so that the modification can be listen.
     * Therefore, this class must not contain any method which is updating a value directly
     * For example, any method doing <this.xxx = value> is forbidden here, because the modification be known from the proxy
     */
    ogcServer: ServerOgc;
    minResolution?: number;
    maxResolution?: number;
    layers?: string;
    style?: string;
    legend: boolean;
    iconUrl?: string;
    legendRule?: string;
    legendImage?: string;
    isLegendExpanded: boolean;
    wasLegendExpanded: boolean;
    hiDPILegendImages?: Record<string, string>;
    printNativeAngle?: boolean;
    queryable: boolean;
    queryLayers?: string;
    filter?: WfsFilter;
    timeOptions?: ITimeOptions;
    timeRestriction?: string;
    timeAttribute?: string;
    editable?: string;
    constructor(id: number, name: string, order: number, ogcServer: ServerOgc, options?: GMFTreeItem | LayerWmsOptions);
    clone(): LayerWms;
    hasRestrictedResolution(): boolean | 0 | undefined;
    isVisibleAtResolution(resolution: number): boolean;
    get hasFilter(): boolean;
    get hasTimeRestriction(): boolean;
    setDefaultTimeRestriction(): void;
    get serverUniqueQueryId(): string;
    get wfsQueryable(): boolean;
    private static isGMFTreeItem;
    private static getOptionsFromGMFTreeItem;
}
export default LayerWms;
