import { CuiNullable } from '@cuby-ui/cdk'; export interface InstructionAssessmentConfigRequestBody { readonly assessmentMode: AssessmentMode; readonly assessmentRequirement: AssessmentRequirement; readonly quizSize: number; readonly quizPassThreshold: number; readonly questionTypes: QuestionType[]; readonly quizLanguage: LanguageCode; readonly interactiveMinTurns: number; readonly interactiveMaxTurns: number; readonly interactivePassThreshold: number; readonly interactiveLanguage: LanguageCode; readonly assistantPrompt: CuiNullable; readonly attemptsLimit: number; readonly attemptsResetPeriod: Duration; readonly ttlHours: number; readonly contentQualityCriteria: QualityCriteria[]; readonly contentQualityGateThreshold: number; readonly contentQualityScoreThreshold: number; readonly blockQualityLanguage: LanguageCode; readonly blockQualityCriteria: QualityCriteria[]; readonly blockQualityGateThreshold: number; readonly blockQualityScoreThreshold: number; } export interface InstructionAssessmentConfig extends InstructionAssessmentConfigRequestBody { readonly id?: string; readonly createdAt?: string; readonly instructionId?: string; } export declare enum AssessmentMode { Quiz = "QUIZ", Interactive = "INTERACTIVE" } export declare enum AssessmentRequirement { Mandatory = "MANDATORY", Optional = "OPTIONAL" } export declare enum QuestionType { SingleChoice = "SINGLE_CHOICE", MultipleChoice = "MULTIPLE_CHOICE", TrueFalse = "TRUE_FALSE" } export declare enum QualityCriteria { Profanity = "PROFANITY", Violence = "VIOLENCE", SpamDetection = "SPAM_DETECTION", TopicRelevance = "TOPIC_RELEVANCE", TopicDiversity = "TOPIC_DIVERSITY", ClarityAndDepth = "CLARITY_AND_DEPTH", FactualAccuracy = "FACTUAL_ACCURACY", ContentSufficiency = "CONTENT_SUFFICIENCY" } /** * Код языка (ISO 639-1) */ export type LanguageCode = string; /** * Период времени в формате ISO 8601 Duration (например, PT24H, P7D) */ export type Duration = string;