import { ActionType } from 'typesafe-actions';
import * as actions from './actions';
import { ExamAnswer, QuestionId } from '../..';
import { ValidationError } from '../../validateAnswers';
import { RootElement } from '../../parser/parseExamStructure';
type AnswersAction = ActionType<typeof actions>;
export interface AnswersState {
    answersById: Record<QuestionId, ExamAnswer>;
    /** The (text) answer that is focused right now. Used for e.g. highlighting the correct hint in scored text answers. */
    focusedQuestionId: QuestionId | null;
    /**
     * The set of answers that (to the best of our knowledge) have been
     * successfully saved to the server. That is, the questions that we
     * show the "Tallennettu" indicator for.
     */
    savedQuestionIds: Set<QuestionId>;
    /**
     * The set of questions that have been saved to the server at some point. Or
     * in short, the set of questions that we show the answer history link for.
     */
    serverQuestionIds: Set<QuestionId>;
    /**
     * Whether or not the Exam API has implemented the optional answer history
     * feature. For now, only the real ktp has implemented it. it.
     */
    supportsAnswerHistory: boolean;
    /**
     * The simplified structure of the exam (only sections, questions and answers)
     * that we use for validation purposes.
     */
    examStructure: RootElement;
    /**
     * An array of warning messages about answers that the user has input.
     */
    validationErrors: ValidationError[];
}
export default function answersReducer(state: AnswersState | undefined, action: AnswersAction): AnswersState;
export {};
//# sourceMappingURL=reducer.d.ts.map