import { AppObject, AppObjectEntity } from "@vived/core";
export declare const EMPTY_TEXT_VALIDATION_MESSAGE = "Answer text is required.";
export declare const MAX_QUESTION_LENGTH = 40;
export declare const LONG_TEXT_VALIDATION_MESSAGE = "Answer text may not exceed 40 characters.";
export declare const MAX_FEEDBACK_LENGTH = 200;
export declare const LONG_FEEDBACK_VALIDATION_MESSAGE = "Answer feedback may not exceed 200 characters.";
export declare abstract class QuestionAnswerEntity extends AppObjectEntity {
    static readonly type = "QuestionAnswerEntity";
    abstract readonly id: string;
    abstract text: string;
    abstract get textValidationMessage(): string | undefined;
    abstract isCorrect: boolean;
    abstract feedbackText: string;
    abstract get feedbackValidationMessage(): string | undefined;
}
export declare function makeQuestionAnswerEntity(appObject: AppObject): QuestionAnswerEntityImp;
declare class QuestionAnswerEntityImp extends QuestionAnswerEntity {
    get id(): string;
    private memoizedText;
    get text(): string;
    set text(val: string);
    get textValidationMessage(): string | undefined;
    private memoizedFeedback;
    get feedbackText(): string;
    set feedbackText(val: string);
    get feedbackValidationMessage(): string | undefined;
    private memoizedIsCorrect;
    get isCorrect(): boolean;
    set isCorrect(val: boolean);
    private memoizedShowFeedback;
    get showFeedback(): boolean;
    set showFeedback(val: boolean);
    constructor(appObject: AppObject);
}
export {};
//# sourceMappingURL=QuestionAnswerEntity.d.ts.map