import { Ast } from 'thingtalk'; import type Engine from '../engine'; import type { NewProgramRecord, RawExecutionResult, NotificationConfig } from './abstract_dialogue_agent'; /** * Run the dialogue, executing ThingTalk and invoking the policy at the * right time. */ export default class InferenceStatementExecutor { private _engine; private _conversationId; constructor(engine: Engine, conversationId: string); private _getType; private _mapValue; mapResult(schema: Ast.FunctionDef, outputValue: Record): Promise; private _mapCompound; mapError(error: Error): Ast.Value; private _iterateResults; executeStatement(stmt: Ast.ExpressionStatement, privateState: undefined, notifications: NotificationConfig | undefined): Promise<[Ast.DialogueHistoryResultList, RawExecutionResult, NewProgramRecord, undefined, Ast.AnnotationSpec]>; }