import { TAbstractLoop } from '../../Abstract'; import { LoopTrigger, LoopType, LoopUpdatePriority } from '../Constants'; import { TDestroyable, TRegistrable, TWithName } from '../../Mixins'; import { BehaviorSubject } from 'rxjs'; import { TDelta } from './TDelta'; import { TLoopTriggerFn } from './TLoopTriggerFn'; export type TLoop = TAbstractLoop & Readonly<{ type: LoopType; triggerMode: LoopTrigger; trigger: TLoopTriggerFn | number; isParallelMode: boolean; start: () => void; stop: () => void; enabled$: BehaviorSubject; shouldUpdateWithPriority: (priority: LoopUpdatePriority) => boolean; }> & Omit & TWithName & TDestroyable;