import { Context } from "./context";
import { Poi2 } from "../elements";
export declare class CollisionSystem {
    context: Context;
    objects: Poi2[];
    needsUpdate: boolean;
    constructor(context: Context);
    registryEvent(): void;
    unRegistryEvent(): void;
    changePoiLevelOrCollisionEnable(poi: Poi2): void;
    /**
     * 添加对象到碰撞检测系统
     * @param object 需要进行碰撞检测的对象
     */
    addObject(poi: Poi2): void;
    /**
     * 从碰撞检测系统中移除对象
     * @param object 需要移除的对象
     */
    removeObject(poi: Poi2): void;
    /**
     * 批量移除
     */
    removeObjects(pois: Poi2[]): void;
    /**
     * 根据ID获取对象（如果对象有id属性）
     * @param id 对象ID
     */
    getObjectById(id: string): Poi2 | null;
    /**
     * 更新函数，在每一帧调用
     */
    onUpdate: () => void;
    onControlChange: () => void;
    validShowParkingSpace(basicWidth?: number): boolean;
    /**
     * 执行碰撞检测
     */
    detectCollisions(): void;
    /**
     * 标记系统需要更新
     */
    markForUpdate(): void;
    /**
     * 清除所有对象
     */
    clear(): void;
    /**
     * 销毁系统
     */
    dispose(): void;
}
