import React from 'react';
import { RenderComponentOverrides } from '../../createRenderChildNodes';
import { ExamAnswer, ExamServerAPI, InitialCasStatus, RestrictedAudioPlaybackStats } from '../../index';
import { RichTextAnswer, TextAnswer as TextAnswerType } from '../../types/ExamAnswer';
/** Props common to taking the exams and viewing results */
export interface CommonExamProps {
    /** Initial answers */
    answers: ExamAnswer[];
    /** The URL for the attachments page */
    attachmentsURL: string;
    /** A function that maps an attachment filename to a full URI. */
    resolveAttachment: (filename: string) => string;
    /** The exam XML */
    doc: XMLDocument;
    /** @deprecated Not used anymore */
    language?: string;
    abitti2?: boolean;
    renderComponentOverrides?: RenderComponentOverrides;
}
export interface AnnotationProps {
    annotationsEnabled?: boolean;
}
interface UndoViewProps {
    close: () => void;
    restoreAnswer: (examAnswer: TextAnswerType | RichTextAnswer) => void;
    questionId: number;
    title: string;
}
/** Props related to taking the exam, 'executing' it */
export interface ExamProps extends CommonExamProps {
    /** The status of CAS software on the OS */
    casStatus: InitialCasStatus;
    /** The CAS countdown duration in seconds. 60 seconds by default. */
    casCountdownDuration?: number;
    /**
     * Playback statistics about restricted audio files. Used for calculating
     * whether the user can listen to them any more.
     */
    restrictedAudioPlaybackStats: RestrictedAudioPlaybackStats[];
    /** Exam Server API implementation */
    examServerApi: ExamServerAPI;
    studentName: string;
    showUndoView: boolean;
    undoViewProps: UndoViewProps;
}
export declare const renderChildNodesBase: (renderComponentOverrides?: Record<string, React.ComponentType<import("../../createRenderChildNodes").ExamComponentProps>>) => import("../../createRenderChildNodes").RenderChildNodes;
declare const _default: React.MemoExoticComponent<React.ComponentType<any>>;
export default _default;
//# sourceMappingURL=Exam.d.ts.map