import { type CCMPEventsManager } from "../../../net/ccmp/events/CCMPEventsManager";
import { type IMarkerCreateOptions, type IMarkersManager } from "../../common/marker/IMarkersManager";
import { type IWorldObjectsIterator } from "../../common/worldObject/IWorldObjectsIterator";
import { CCMPMarker } from "./CCMPMarker";
export declare class CCMPMarkersManager implements IMarkersManager {
    private readonly _events;
    private readonly _markers;
    private readonly _markersByRemoteId;
    private readonly _iterator;
    constructor(_events: CCMPEventsManager);
    create(options: IMarkerCreateOptions): CCMPMarker;
    syncWithMpPool(): void;
    registerById(id: number): CCMPMarker;
    unregisterById(id: number): CCMPMarker;
    findByID(id: number): CCMPMarker | null;
    getByID(id: number): CCMPMarker;
    findByRemoteID(remoteId: number): CCMPMarker | null;
    getByRemoteID(remoteId: number): CCMPMarker;
    deleteById(id: number): CCMPMarker;
    get iterator(): IWorldObjectsIterator<CCMPMarker>;
    private _register;
    private _unregister;
    private _findRegistered;
    private _registerLifecycleEvents;
    private _filter;
    private _pruneDestroyed;
}
