import { Mesh } from 'three'; import { MeshCollector } from '../MeshCollector'; export interface InteractionFilterContext { getCollectors(): ReadonlySet; } /** * 冻结与隔离逻辑:管理构件的交互过滤及 MeshCollector 获取的 mesh 在场景中的显隐 * split mesh 使用 userData.oid(单 feature)或 userData.collectorOids(合并 mesh):任一相关 OID 被冻结/隔离规则命中则整 mesh 脱离场景 */ export declare class InteractionFilter { private context; private frozenOids; private isolatedOids; /** 按 collector 分组键追踪 mesh */ private trackedMeshes; private meshListeners; private isPluginRemoving; constructor(context: InteractionFilterContext); isOidBlocked(oid: number): boolean; /** 合并 split:任一 collector OID 被 block 则整 mesh 视为应隐藏 */ private isMeshInteractionBlocked; private trackMesh; private untrackMesh; onCollectorMeshChange(groupKey: string, newMeshes: Mesh[]): void; private syncCollectorMeshes; onUnregisterCollector(groupKey: string): void; freezeByOids(oids: number[]): void; freezeByOid(oid: number): void; unfreezeByOids(oids: number[]): void; unfreezeByOid(oid: number): void; unfreeze(): void; getFrozenOids(): number[]; isolateByOids(oids: number[]): void; isolateByOid(oid: number): void; unisolateByOids(oids: number[]): void; unisolateByOid(oid: number): void; unisolate(): void; getIsolatedOids(): number[]; dispose(): void; } //# sourceMappingURL=InteractionFilter.d.ts.map