import { Poi, PoiOptionsParam } from "../elements";
import { Layer } from "./layer";
import { Context } from '../context/context';
import { Timer } from "../utils";
export declare class PoiLayer extends Layer {
    pois: Poi[];
    debounceCollisionDetection: () => void;
    timer: Timer;
    constructor(context: Context);
    clear(force?: boolean): this;
    createPoi(options: PoiOptionsParam): Poi;
    changePoiLevelOrCollisionEnable(poi: Poi): void;
    removePoi(poi: Poi): void;
    removePoiById(id: string): void;
    getPoiById(id: string): Poi | null;
    /**
     * 保存poi按照level排序
     * @param poi
     */
    pushPoi(poi: Poi): void;
    getPoiByDeviceXy(x: number, y: number): Poi[];
    onUpdate: () => void;
    /**
     * 碰撞检测
     */
    collisionDetection(): void;
    registryEvent(): void;
    unRegistryEvent(): void;
    dispose(): void;
}
