import type { DependencyManager } from '../../plugins'; import type { ValidResponse } from './models'; import { Dispatcher } from '../../agent/Dispatcher'; import { MessageSender } from '../../agent/MessageSender'; import { ConnectionService } from '../connections'; import { QuestionAnswerService } from './services'; export declare class QuestionAnswerModule { private questionAnswerService; private messageSender; private connectionService; constructor(dispatcher: Dispatcher, questionAnswerService: QuestionAnswerService, messageSender: MessageSender, connectionService: ConnectionService); /** * Create a question message with possible valid responses, then send message to the * holder * * @param connectionId connection to send the question message to * @param config config for creating question message * @returns QuestionAnswer record */ sendQuestion(connectionId: string, config: { question: string; validResponses: ValidResponse[]; detail?: string; }): Promise; /** * Create an answer message as the holder and send it in response to a question message * * @param questionRecordId the id of the questionAnswer record * @param response response included in the answer message * @returns QuestionAnswer record */ sendAnswer(questionRecordId: string, response: string): Promise; /** * Get all QuestionAnswer records * * @returns list containing all QuestionAnswer records */ getAll(): Promise; private registerHandlers; /** * Registers the dependencies of the question answer module on the dependency manager. */ static register(dependencyManager: DependencyManager): void; }