/*******************************************************************************
 * Copyright (c) 2023-2026 Maxprograms.
 *
 * This program and the accompanying materials
 * are made available under the terms of the Eclipse   License 1.0
 * which accompanies this distribution, and is available at
 * https://www.eclipse.org/org/documents/epl-v10.html
 *
 * Contributors:
 *     Maxprograms - initial API and implementation
 *******************************************************************************/
import { ProcessingInstruction } from "./ProcessingInstruction.js";
import { TextNode } from "./TextNode.js";
import { XMLComment } from "./XMLComment.js";
import { XMLDeclaration } from "./XMLDeclaration.js";
import { XMLDocumentType } from "./XMLDocumentType.js";
import { XMLElement } from "./XMLElement.js";
import { XMLNode } from "./XMLNode.js";
export declare class XMLDocument implements XMLNode {
    private content;
    documentType: XMLDocumentType | undefined;
    constructor();
    contentIterator(): IterableIterator<XMLNode>;
    setRoot(root: XMLElement): void;
    getRoot(): XMLElement | undefined;
    setDocumentType(documentType: XMLDocumentType): void;
    getDocumentType(): XMLDocumentType | undefined;
    setXmlDeclaration(declaration: XMLDeclaration): void;
    getXmlDeclaration(): XMLDeclaration | undefined;
    addComment(comment: XMLComment): void;
    addProcessingInstruction(pi: ProcessingInstruction): void;
    addTextNode(node: TextNode): void;
    getNodeType(): number;
    toString(): string;
    equals(node: XMLNode): boolean;
}
