/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
type CurriculumSectionTitleContents = ContentBaseType & {
    type?: "sectionTitle";
    title: string;
    [k: string]: unknown;
};
type CurriculumVideoContents = ContentBaseType & {
    type?: "video";
    title: string;
    url: string;
    icon?: string;
    [k: string]: unknown;
};
type CurriculumReviewContents = ContentBaseType & {
    type?: "review";
    title: string;
    icon?: string;
    buttonTitle?: string;
    description: string;
    questions: (CurriculumReviewQuestionText | CurriculumReviewQuestionRadio | CurriculumReviewQuestionSatisfactionText | CurriculumReviewQuestionSatisfactionOption)[];
    [k: string]: unknown;
};
type CurriculumReviewQuestionText = ContentBaseType & QuestionBaseType & {
    type?: "question_text";
    minLength?: number;
    placeholder?: string;
    minLengthInfoMessage?: string;
    [k: string]: unknown;
};
type CurriculumReviewQuestionRadio = ContentBaseType & QuestionBaseType & {
    type?: "question_radio";
    options: {
        label?: string;
        value?: number;
        [k: string]: unknown;
    }[];
    correctAnswer: number;
    [k: string]: unknown;
};
type CurriculumReviewQuestionSatisfactionText = ContentBaseType & {
    type?: "question_satisfaction_text";
    minLength?: number;
    placeholder?: string;
    required: boolean;
    question?: string;
    title?: string;
    icon?: string;
    [k: string]: unknown;
};
type CurriculumReviewQuestionSatisfactionOption = ContentBaseType & {
    type?: "question_satisfaction_option";
    options?: {
        label?: string;
        value?: number;
        [k: string]: unknown;
    }[];
    required: boolean;
    question?: string;
    title?: string;
    icon?: string;
    [k: string]: unknown;
};
type CurriculumAiTrainingContents = ContentBaseType & {
    type: "aiTraining";
    title: string;
    description: string;
    aITrainingInfoId: string;
    aiDuration: number;
    buttonTitle?: string;
    [k: string]: unknown;
};
interface CurriculumContents {
    version: number;
    list: (CurriculumSectionTitleContents | CurriculumVideoContents | CurriculumReviewContents | CurriculumAiTrainingContents)[];
    satisfactionOptionMeta?: SatisfactionOptionMeta;
    satisfactionTextMeta?: SatisfactionTextMeta;
    reviewMeta?: {
        endReviewTopTitle?: string;
        endReviewDescription?: string;
        endReviewBackButtonTitle?: string;
        endReviewNextButtonTitle?: string;
    };
}
interface ContentBaseType {
    uuid: string;
    type: string;
    duration?: number;
    [k: string]: unknown;
}
interface QuestionBaseType {
    required: boolean;
    question: string;
    title: string;
    icon?: string;
    [k: string]: unknown;
}
interface SatisfactionOptionMeta {
    options?: {
        label?: string;
        value?: number;
        [k: string]: unknown;
    }[];
    required?: boolean;
    question?: string;
    title?: string;
    icon?: string;
    [k: string]: unknown;
}
interface SatisfactionTextMeta {
    minLength?: number;
    placeholder?: string;
    required?: boolean;
    question?: string;
    title?: string;
    icon?: string;
    [k: string]: unknown;
}

export type { ContentBaseType, CurriculumAiTrainingContents, CurriculumContents, CurriculumReviewContents, CurriculumReviewQuestionRadio, CurriculumReviewQuestionSatisfactionOption, CurriculumReviewQuestionSatisfactionText, CurriculumReviewQuestionText, CurriculumSectionTitleContents, CurriculumVideoContents, QuestionBaseType, SatisfactionOptionMeta, SatisfactionTextMeta };
