/**
 * @module
 * @hidden
 */
import { ILayerSetOL } from './layer-set-contracts';
import LayerGroup from 'ol/layer/Group';
import { Bounds, IExternalBaseLayer, RefreshMode, LayerTransparencySet, Size } from './common';
import View from 'ol/View';
import LayerBase from "ol/layer/Base";
import Source from 'ol/source/Source';
import { ProjectionLike } from 'ol/proj';
/**
 * @hidden
 */
export declare abstract class BaseLayerSetOL implements ILayerSetOL {
    readonly externalBaseLayersGroup: LayerGroup | undefined;
    readonly projection: ProjectionLike;
    readonly dpi: number;
    readonly extent: Bounds;
    private readonly inPerUnit;
    readonly view: View;
    constructor(externalBaseLayersGroup: LayerGroup | undefined, projection: ProjectionLike, dpi: number, extent: Bounds, inPerUnit: number, view: View);
    getMetersPerUnit(): number;
    scaleToResolution(scale: number): number;
    resolutionToScale(resolution: number): number;
    updateExternalBaseLayers(externalBaseLayers: IExternalBaseLayer[]): void;
    /**
     *
     * @virtual
     * @param {RefreshMode} mode
     * @memberof BaseLayerSetOL
     */
    refreshMap(mode: RefreshMode): void;
    abstract getLayers(): LayerBase[];
    abstract getSourcesForProgressTracking(): Source[];
    abstract updateTransparency(trans: LayerTransparencySet): void;
    abstract showActiveSelectedFeature(mapExtent: Bounds, size: Size, uri: string): void;
    abstract update(showGroups: string[] | undefined, showLayers: string[] | undefined, hideGroups: string[] | undefined, hideLayers: string[] | undefined): void;
    abstract updateSelectionColor(color: string): void;
}
