import { Layer, LayerGroup, Map } from 'leaflet';
import { AfterContentInit, OnDestroy, QueryList } from '@angular/core';
import { LayerHandler } from './layer-handler';
import { Subscription } from 'rxjs';
export declare class BaseLayer<T extends Layer> implements OnDestroy, AfterContentInit {
    id: string;
    mapRef: Map | LayerGroup;
    layerRef: T;
    handlerIds: string[];
    handlerSubscription: Subscription;
    handlers: QueryList<LayerHandler<any>>;
    constructor();
    addTo(map: Map | LayerGroup): void;
    removeFrom(): void;
    ngAfterContentInit(): void;
    initHandlers(): void;
    initHandler(handler: LayerHandler<any>): void;
    ngOnDestroy(): void;
}
