import type { RecordTags, TagsBase } from '../../../storage/BaseRecord'; import type { QuestionAnswerRole } from '../QuestionAnswerRole'; import type { QuestionAnswerState, ValidResponse } from '../models'; import { BaseRecord } from '../../../storage/BaseRecord'; export declare type CustomQuestionAnswerTags = TagsBase; export declare type DefaultQuestionAnswerTags = { connectionId: string; role: QuestionAnswerRole; state: QuestionAnswerState; threadId: string; }; export declare type QuestionAnswerTags = RecordTags; export interface QuestionAnswerStorageProps { id?: string; createdAt?: Date; connectionId: string; role: QuestionAnswerRole; signatureRequired: boolean; state: QuestionAnswerState; tags?: CustomQuestionAnswerTags; threadId: string; questionText: string; questionDetail?: string; validResponses: ValidResponse[]; response?: string; } export declare class QuestionAnswerRecord extends BaseRecord { questionText: string; questionDetail?: string; validResponses: ValidResponse[]; connectionId: string; role: QuestionAnswerRole; signatureRequired: boolean; state: QuestionAnswerState; threadId: string; response?: string; static readonly type = "QuestionAnswerRecord"; readonly type = "QuestionAnswerRecord"; constructor(props: QuestionAnswerStorageProps); getTags(): { connectionId: string; role: QuestionAnswerRole; state: QuestionAnswerState; threadId: string; }; assertState(expectedStates: QuestionAnswerState | QuestionAnswerState[]): void; }