import {Transition} from "./Transition"; export abstract class State> { incomingTransitions: T[] =[]; outgoingTransitions: T[] =[]; initial: boolean = false; addIncomingTransition(transition: T) { this.incomingTransitions.push(transition); } addOutgoingTransition(transition: T) { this.outgoingTransitions.push(transition); } removeIncomingTransition(transition: T) { } removeOutgoingTransition(transition: T) { } abstract equals(state: State>): boolean; }