import { TDestroyable, TNoSpread, TSerializable, TWithId } from '../../Mixins'; import { TReadonlyQuaternion, TReadonlyVector3 } from '../../ThreeLib'; import { TransformAgent } from '../Constants'; import { BehaviorSubject, Subject } from 'rxjs'; import { TReadonlyTransform } from './TReadonlyTransform'; export type TAbstractTransformAgent = Readonly<{ type: TransformAgent; position$: BehaviorSubject; rotation$: BehaviorSubject; scale$: BehaviorSubject; enabled$: BehaviorSubject; onActivated$: Subject; onDeactivated$: Subject; relatedDriveId$: BehaviorSubject; }> & TWithId & TNoSpread & TSerializable & TDestroyable;