import { observable } from 'mobx' ; import type { IAction } from '../Action/IAction' ; import type { IActiveView } from './IActiveView' ; import type { IView } from './IView' ; export abstract class View < T > implements IView < T > { readonly actions : IAction [ ] ; constructor ( ) { this . actions = observable ( [ ] , { deep : false } ) ; } registerAction ( action ) { this . actions . push ( action ) ; } abstract getView ( ) ; }