import { Config as DataConfig } from '@voiceflow/general-types'; import { State } from '@voiceflow/runtime'; import Client from "../Client"; import Context from "../Context"; import { AfterProcessingEventHandler, BeforeProcessingEventHandler, GeneralTraceEventHandler, ResponseHandler, TraceEventHandler } from "../Events"; import { GeneralRequest, ResponseContext, TraceEvent, TraceType } from "../types"; declare type OnMethodHandlerArgMap = { [K in TraceType]: TraceEventHandler; } & { [TraceEvent.GENERAL]: GeneralTraceEventHandler; [TraceEvent.BEFORE_PROCESSING]: BeforeProcessingEventHandler; [TraceEvent.AFTER_PROCESSING]: AfterProcessingEventHandler; }; export declare class RuntimeClient = Record> { private client; private dataConfig; private context; private events; private responseHandler; constructor(state: State, { client, dataConfig }: { client: Client; dataConfig?: DataConfig; }); start(): Promise>; sendText(userInput: string): Promise>; sendIntent(name: string, entities?: { name: string; value: string; query?: string; }[], query?: string, confidence?: number): Promise>; sendRequest(request: GeneralRequest): Promise>; on(event: T, handler: OnMethodHandlerArgMap[T]): void; onResponse(responseHandler: ResponseHandler): Promise; buildResponse(): Promise>; off(event: T, handler: OnMethodHandlerArgMap[T]): void; onSpeak(handler: TraceEventHandler): void; onAudio(handler: TraceEventHandler): void; onBlock(handler: TraceEventHandler): void; onDebug(handler: TraceEventHandler): void; onEnd(handler: TraceEventHandler): void; onFlow(handler: TraceEventHandler): void; onVisual(handler: TraceEventHandler): void; onChoice(handler: TraceEventHandler): void; setContext(contextJSON: ResponseContext): void; getContext(): Context; } export default RuntimeClient;