import { IInsert } from './interfaces'; import { IRootNode } from './nodes'; import AgendaTree from './agenda'; import EventEmitter from './EventEmitter'; export default class Flow extends EventEmitter { private workingMemory; agenda: AgendaTree; data: IRootNode; private executionStrategy; constructor(data: IRootNode, conflictResolutionStrategy: (a: IInsert, b: IInsert) => number, defined: Map, scope: Map); getFacts(Type: any): any[]; getFact(Type: any): any; focus(focused: string): this; halt(): this; dispose(): void; assert(fact: any): any; retract(fact: any): any; modify(fact: any): any; containsRule(name: string): boolean; matchUntilHalt(): Promise<{}>; match(): Promise<{}>; }