import { LightWeightObjectChangeTracker, SetOptions } from '@schoolbelle/common/object-change-tracker'; import { QuestionBaseInterface } from './question.base.interface'; import { Survey } from '../../survey'; import { Option } from '../../option'; import { QuestionDependency } from './dependency'; import { QuestionDataInterface } from './questionData.interface'; export declare class QuestionBase extends LightWeightObjectChangeTracker implements QuestionBaseInterface { survey: Survey; _options: { [key: string]: Option; }; readonly options: Option[]; readonly id: string; text: string; type: string; priority: number; max_checked_option_cnt: number; min_checked_option_cnt: number; required: boolean; canHaveQuotaOptions: boolean; dependency: QuestionDependency; readonly value: QuestionDataInterface; constructor(survey: Survey, question_id: string); /** * * @param data * @param options * if no priority is set, set 1000, which will be modified to a proper value to put the question at the end of question list. * id, type, and priority are preset and should not be overriden. */ load(data?: Partial, options?: SetOptions): void; private setQuestionPriority; }