import { RxapElement, RxapElementOptions } from './element';
import { ParsedElement } from './elements/parsed-element';
import { XmlElementSerializerFunction } from './xml-element-serializer-function';
export declare class XmlSerializerService {
    private readonly DOMParser;
    private readonly XMLSerializer;
    readonly elementOptions: RxapElementOptions;
    constructor(DOMParser: typeof window.DOMParser, XMLSerializer: typeof window.XMLSerializer, elementOptions?: RxapElementOptions);
    private createElement;
    /**
     *
     *
     * @param element
     */
    serialize<D extends ParsedElement>(instance: D, parent?: RxapElement): RxapElement;
    protected determineElementNameAndSerializer(element: ParsedElement): {
        elementName: string;
        serializers: XmlElementSerializerFunction<any>[];
    };
    serializeToXml<D extends ParsedElement>(instance: D): string;
    private createDOMParser;
    private createXMLSerializer;
}
