import { Ast } from 'thingtalk'; import SimulationDialogueAgent, { SimulationDialogueAgentOptions } from '../../dialogue-agent/simulator/simulation_dialogue_agent'; import { extractConstants, createConstants } from './constants'; export * from './describe'; export * from './syntax'; export * from './dialogue_state_utils'; import { clean, tokenizeExample } from '../misc-utils'; import { PolicyModule } from '../../sentence-generator/types'; export { clean, tokenizeExample }; export declare type Input = Ast.Input; export declare type DialogueState = Ast.DialogueState; export declare type Simulator = SimulationDialogueAgent; export declare type SimulatorOptions = SimulationDialogueAgentOptions; export { extractConstants, createConstants, }; export declare function createSimulator(options: SimulationDialogueAgentOptions): SimulationDialogueAgent; declare type PolicyManifest = PolicyModule['MANIFEST']; export declare class StateValidator { private _policy; constructor(policy: PolicyManifest); validateUser(state: Ast.DialogueState): void; validateAgent(state: Ast.DialogueState): void; } interface DialoguePolicy { handleAnswer(state: Ast.DialogueState, value: Ast.Value): Promise; } export declare function inputToDialogueState(policy: DialoguePolicy, context: Ast.DialogueState | null, input: Ast.Input): Promise; export declare function addIndexToIDQuery(stmt: Ast.ExpressionStatement): void;