import { Map, Layer, Control } from 'leaflet'; import { Observable } from 'rxjs'; import { ContextService } from '../../core/extension/context.service'; import { AppConfig } from '../../core/config/config.service'; export interface LayerDefinition { label: string; layer: Layer; enLabel: string; type?: 'overlay' | 'baseLayer'; enabled?: boolean; } export declare abstract class LayerProvider { config: any; mapProvider: string; mapConfig: any; mapStyle: string; abstract provide(map: Map): Array | Observable>; protected resolveProvider(appConfig: AppConfig, ctx: ContextService): void; } export interface FeatureProvider { config: any; provide(map: Map): any; } export interface ControlProvider { config: any; provide(map: Map): Control; }