import { NodeWidget , Component } from '@nodegui/nodegui' ; import { Prop } from 'renderer/patchProp' ; export abstract class VNNode < WidgetProps extends { } > extends NodeWidget < any > { abstract insertChild ( child ) ; abstract patchProp ( key , prevValue , nextValue ) ; abstract removeChild ( child ) ; abstract insertBefore ( child , beforeChild ) ; abstract getNextSibling ( child ) ; } export abstract class VNWidget < WidgetProps > extends NodeWidget < any > implements VNNode < WidgetProps > { abstract insertChild ( child ) ; abstract patchProp ( key , prevValue , nextValue ) ; abstract removeChild ( child ) ; abstract insertBefore ( child , beforeChild ) ; abstract getNextSibling ( child ) ; } export abstract class WidgetConfig < WidgetProps > { abstract createElement ( ) ; }