import { SubDocumentInfoType } from "../../../../../../common/model/enums";
import { NoteType } from "../../../../../../common/model/footnotes/footnote";
import { XmlReader } from "../../../zip/xml-reader";
import { ElementHandlerTable } from "../destination";
import { BodyDestinationBase } from "../document/body-destination-base";
export type NoteSubDocumentType = SubDocumentInfoType.FootNote | SubDocumentInfoType.EndNote;
export declare abstract class NoteDestination extends BodyDestinationBase {
    static handlerTable: ElementHandlerTable;
    protected get elementHandlerTable(): ElementHandlerTable;
    private id;
    private subDocId;
    private type;
    protected abstract get SubDocumentType(): NoteSubDocumentType;
    processElementOpen(reader: XmlReader): Promise<void>;
    processElementClose(_reader: XmlReader): Promise<void>;
    private createSubDocument;
    protected abstract addNote(id: string, subDocId: number, type: NoteType): boolean;
}
