import { LibreRouting } from '../../libre-routing';
import { LibreRoutingPlugin } from '..';
import { AnnotationPopupComponentI } from './popup-component';
export interface AnnotationPluginOptions {
    routeLayerIds: string[];
    calculatePopupOnFly: boolean;
    componentFactory(id: any, routeData: any, ctx: LibreRouting): AnnotationPopupComponentI;
}
export declare class AnnotationPlugin implements LibreRoutingPlugin {
    private map;
    private mapBounds;
    private bounds?;
    private worker;
    private popups;
    private allInBbox;
    private currentFeatures;
    private ctx;
    private options;
    private workerApi;
    private data;
    private components;
    private clearMapHandler;
    private routeCalculatedHandler;
    private mapMoveEndHandler;
    constructor(options?: {});
    onAdd(ctx: LibreRouting): void;
    onRemove(): void;
    private routeCalculated;
    recalculate(force?: boolean): Promise<void>;
    private destroyView;
}
