/// import * as events from 'events'; import type Engine from '..'; import type AppExecutor from './app_executor'; import ExecWrapper from './exec_wrapper'; import { OutputDelegate } from './exec_wrapper'; export default class RuleExecutor extends events.EventEmitter { engine: Engine; app: AppExecutor; private _output; private _env; private _tt; private _finished; private _finishPromise; constructor(engine: Engine, app: AppExecutor, compiled: (env: ExecWrapper) => Promise, output: OutputDelegate); private _ruleThread; start(): void; waitFinished(): Promise; end(): Promise; stop(): void; }