import { Control, ControlInput, ControlResponseBuilder } from '../..'; import { ContentAct } from '../../systemActs/ContentActs'; import { InitiativeAct } from '../../systemActs/InitiativeActs'; import { QuestionnaireControl, QuestionnaireUserAnswers } from './QuestionnaireControl'; import { QuestionnaireContent } from './QuestionnaireControlStructs'; export interface AskQuestionPayload { questionnaireContent: QuestionnaireContent; answers: QuestionnaireUserAnswers; questionId: string; } /** * Asks the user one of the questions of the questionnaire. * */ export declare class AskQuestionAct extends InitiativeAct { control: QuestionnaireControl; payload: AskQuestionPayload; constructor(control: Control, payload: AskQuestionPayload); render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } /** * Asks the user if an answer was understood correctly with a yes/no question. */ export declare class ConfirmAnswerToQuestion extends InitiativeAct { constructor(control: Control); render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } /** * Asks the user is all done with the questionnaire. */ export declare class AskIfCompleteAct extends InitiativeAct { render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } /** * Suggest the user continue making updates then mark questionnaire as complete. * * Purpose: * - the follow up version of AskIfCompleted. * - used if the user disconfirms the first AskIfCompleted question. */ export declare class AskIfCompleteTerseAct extends InitiativeAct { render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } export interface QuestionAnsweredActPayload { questionId: string; choiceId: string; /** * if true, the user gave an explicit answer. * if false, the user used a simpler approach, e.g. "yes", "no", or touch * * Purpose: * - may help to decide whether to include the answer in the implicit feedback. * * Example: * - if true, prompt = "OK, five stars" * - whereas if false, prompt= "OK." */ userAnsweredWithExplicitValue: boolean; /** * if true, the user gave the answer out-of-order by mentioning a specific question. * if false, the user directly answered the asked question * * Purpose: * - may help to decide whether to include the question in the implicit feedback. * * Example: * - if true, prompt = "OK, five stars for customer service." * - whereas if false, prompt= "OK." */ userMentionedQuestion: boolean; renderedQuestionShortForm: string; renderedChoice: string; } export interface AnswerClearedActPayload { questionId: string; /** * if true, the user gave the answer out-of-order by mentioning a specific question. * if false, the user directly answered the asked question * * Purpose: * - may help to decide whether to include the question in the implicit feedback. * * Example: * - if true, prompt = "OK, five stars for customer service." * - whereas if false, prompt= "OK." */ userMentionedQuestion: boolean; renderedQuestionShortForm: string; } /** * Communicates that an answer was received. * * Purpose: * - This act provides implicit feedback that an answer was received and may also communicate * the actual answer received. */ export declare class QuestionAnsweredAct extends ContentAct { payload: QuestionAnsweredActPayload; constructor(control: Control, payload: QuestionAnsweredActPayload); render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } export declare class AnswerClearedAct extends ContentAct { payload: AnswerClearedActPayload; constructor(control: Control, payload: AnswerClearedActPayload); render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } export declare class CompletedAct extends ContentAct { render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } export declare class AcknowledgeNotCompleteAct extends ContentAct { render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } /** * Payload for InvalidValueAct */ export interface QuestionnaireCompletionRejectedPayload { reasonCode?: string; renderedReason?: string; } export declare class QuestionnaireCompletionRejectedAct extends ContentAct { payload: QuestionnaireCompletionRejectedPayload; constructor(control: Control, payload: QuestionnaireCompletionRejectedPayload); render(input: ControlInput, responseBuilder: ControlResponseBuilder): void; } //# sourceMappingURL=QuestionnaireControlSystemActs.d.ts.map