export interface BaseElement {
    name: string;
    childNodes: ExamElement[];
}
export interface RootElement extends BaseElement {
    name: 'exam';
    attributes: {
        maxAnswers?: number;
    };
}
export interface SectionElement extends BaseElement {
    name: 'section';
    attributes: {
        displayNumber: string;
        maxAnswers?: number;
        minAnswers?: number;
    };
}
export interface QuestionElement extends BaseElement {
    name: 'question';
    attributes: {
        displayNumber: string;
        maxAnswers?: number;
    };
}
export interface TextAnswerElement extends BaseElement {
    name: 'text-answer';
    attributes: {
        displayNumber: string;
        questionId: number;
        maxLength?: number;
    };
}
export interface ScoredTextAnswerElement extends BaseElement {
    name: 'scored-text-answer';
    attributes: {
        displayNumber: string;
        questionId: number;
    };
}
export interface ChoiceAnswerElement extends BaseElement {
    name: 'choice-answer';
    attributes: {
        displayNumber: string;
        questionId: number;
    };
}
export interface DropdownAnswerElement extends BaseElement {
    name: 'dropdown-answer';
    attributes: {
        displayNumber: string;
        questionId: number;
    };
}
export interface DragAndDropAnswerElement extends BaseElement {
    name: 'dnd-answer';
    attributes: {
        displayNumber: string;
        questionId: number;
    };
}
export interface AudioAnswerElement extends BaseElement {
    name: 'audio-answer';
    attributes: {
        displayNumber: string;
        questionId: number;
    };
}
export type ExamElement = RootElement | SectionElement | QuestionElement | AnswerElement;
export type AnswerElement = TextAnswerElement | ScoredTextAnswerElement | ChoiceAnswerElement | DropdownAnswerElement | DragAndDropAnswerElement | AudioAnswerElement;
export declare function parseExamStructure(doc: XMLDocument): RootElement;
//# sourceMappingURL=parseExamStructure.d.ts.map