import { TWatcher } from '../../Abstract'; import { TActor } from '../../Actor'; import { TRawModel3d } from '../../Models3d'; import { Raycaster } from 'three'; import { TIntersectionEvent } from './TIntersectionEvent'; import { TIntersectionsLoop } from './TIntersectionsLoop'; export type TAbstractIntersectionsWatcher = TWatcher & Readonly<{ addActor: (actor: TActor) => void; addActors: (actors: ReadonlyArray | ReadonlyMap) => void; getActors: () => ReadonlyMap; getIntersectionsLoop: () => TIntersectionsLoop; isAutoStart: boolean; isStarted: boolean; removeActor: (actor: TActor) => void; removeActors: (actors: ReadonlyArray | Map) => void; removeActorById: (actorId: string) => void; removeActorsByIds: (actorsIds: ReadonlyArray) => void; getModelsFromActors: () => Array; setFar: (far: number) => void; raycaster: Readonly; }>;