import { WatcherType } from '../Constants'; import { TDestroyable, TNoSpread, TRegistrable, TWithNameAndNameAccessorsMixin } from '../../Mixins'; import { BehaviorSubject, Subject } from 'rxjs'; export type TAbstractWatcher = Readonly<{ type: WatcherType | string; enabled$: BehaviorSubject; value$: Subject; }> & TWithNameAndNameAccessorsMixin & TRegistrable & TDestroyable & TNoSpread;