import { MetadataDocument, MetadataDocumentAnnotation } from './metadataDocument';
export declare type XmlLineError = {
    key: string;
    message: string;
};
/**
 * Class used to hold an XML metadata document.
 * This uses a unitary XML representation and DOM content.
 */
export declare class XmlMetadataDocument implements MetadataDocument {
    data: any;
    annotation: MetadataDocumentAnnotation;
    constructor(metadataName: string, xmlAttributes?: XmlAttribute[]);
    getRepresentation(): string;
    getUnmodifiedRepresentation(): string;
    setRepresentation(representation: string): void;
    getAnnotation(): MetadataDocumentAnnotation;
    setAnnotation(annotation: MetadataDocumentAnnotation): void;
    isEquivalent(doc: MetadataDocument): boolean;
    isEquivalentTo(representation: string): boolean;
    private static getWhitespace;
    private static isEmptyElement;
    private static isSimpleElement;
    private static insertAfter;
    private static addWhitespaceNodes;
    private static addWhitespace;
    private static beautifyDocument;
    static stripWhitespace(document: any): void;
    private static serializeData;
    private static parseRepresentation;
    private getOuterXml;
    private static getXmlAttributesString;
}
export interface XmlAttribute {
    nodeName: string;
    nodeValue: string;
}
