import { TContainerDecorator } from '../../Global'; import { TReadonlyVector3 } from '../../ThreeLib'; import { BehaviorSubject } from 'rxjs'; import { ColorRepresentation, Vector3Like } from 'three'; import { Line2 } from '../../../../../node_modules/@types/three/examples/jsm/lines/Line2'; import { TIntersectionsWatcher } from './TIntersectionsWatcher'; export type TIntersectionsDirectionWatcher = TIntersectionsWatcher & Readonly<{ origin$: BehaviorSubject; direction$: BehaviorSubject; targetPointToDirection: (origin: Vector3Like, target: Vector3Like) => TReadonlyVector3; getDistanceToTargetPoint: (origin: Vector3Like, target: Vector3Like) => number; _debugGetRayVisualizationLine: (container: TContainerDecorator, length?: number, color?: ColorRepresentation, lineWidth?: number) => Line2; }>;