/** * What the digital outputs (#1230, #1231) need beside the records: the * words of the exercise bar, how answers are checked and kept, and each * style's colours. The layout carries it on `VDTDocument.exerciseDigital`; * `exerciseDataOf` joins it with the records into the JSON the HTML output * writes for the exercise script (`attachExercises`, `EXERCISE_SCRIPT`). */ import type { ExerciseSettings, ExerciseWords } from '../defaults/exercises.js'; import type { ExerciseRecord } from './record.js'; import type { Dimension } from '../types.js'; /** The words of the digital outputs, in the document language. */ export type ExerciseDigitalWords = Pick; /** How one exercise style looks answered. */ export interface ExerciseDigitalStyleInfo { /** Right and wrong feedback, and the answers a solution shows. */ correct: string; wrong: string; answer: string; /** The option marker (`options.marker`): a box or a ring is ticked, a * bare label is ringed. */ marker: 'none' | 'box' | 'circle'; /** The true and false labels (`trueFalse.labels`). */ trueFalse: [string, string]; } export interface ExerciseDigital { words: ExerciseDigitalWords; /** `exercises.digital`. */ interactive: boolean; persist: boolean; check: 'button' | 'instant'; styles: Record; } /** The digital part of a document's exercise settings. */ export declare function exerciseDigitalOf(settings: ExerciseSettings): ExerciseDigital; /** The JSON an HTML output writes for the exercise script * (`