import { ILayerManager, ILayerInfo, IParseFeaturesFromFileOptions, IAddLayerFromParsedFeaturesOptions, Dictionary } from './common';
import olMap from "ol/Map";
import olLayerBase from "ol/layer/Base";
import { IParsedFeatures } from './layer-manager/parsed-features';
import { LayerSetGroupBase } from './layer-set-group-base';
import { IInitialExternalLayer } from '../actions/defs';
export declare function getLayerInfo(layer: olLayerBase, isExternal: boolean): ILayerInfo;
export declare class LayerManager implements ILayerManager {
    private map;
    private layerSet;
    private _olFormats;
    constructor(map: olMap, layerSet: LayerSetGroupBase);
    tryGetSubjectLayer(): olLayerBase | undefined;
    /**
     * INTERNAL API
     * @param {IInitialExternalLayer} extLayer
     * @returns
     * @memberof LayerManager
     */
    addExternalLayer(extLayer: IInitialExternalLayer, onlyAddIfNotExists: boolean, appSettings: Dictionary<string>): ILayerInfo | undefined;
    getLayers(): ILayerInfo[];
    hasLayer(name: string): boolean;
    addLayer<T extends olLayerBase>(name: string, layer: T, allowReplace?: boolean | undefined): ILayerInfo;
    removeLayer(name: string): olLayerBase | undefined;
    getLayer<T extends olLayerBase>(name: string): T | undefined;
    apply(layers: ILayerInfo[]): void;
    parseFeaturesFromFile(options: IParseFeaturesFromFileOptions): Promise<IParsedFeatures>;
    addLayerFromParsedFeatures(options: IAddLayerFromParsedFeaturesOptions): Promise<ILayerInfo>;
}
