import { IDisposableViewModel } from '../../disposable'; import { EventPropertyManager } from '../../eventManager'; import { PropertyChangedEvents } from '../../propertyChangedEvents'; export interface IModel { events: EventPropertyManager; onPropertyChanged(args: PropertyChangedEvents['propertyChanged']): void; } export interface IViewModel extends IDisposableViewModel { getModel?: () => T; } export interface IRenderingModel { getViewModel(): IViewModel; createViewModel(): void; }