import { JsonObject } from "aft-core";
export declare class XML {
/**
* converts a passed in XML object into a Javascript object
*
* XML to object deserialisation will use the following rules:
* - element names become property names
* - attributes become properties preceeded by an `@` symbol inside the element object
* - element text content is rendered in a special property named `keyValue`
*
* *Ex:*
* ```xml
*
*
*
*
* This is coloured
*
*
* ```
* will become:
* ```json
* {
* "html": {
* "image": {
* "@src": "./foo/bar/baz.jpg",
* },
* "hr": {},
* "span": {
* "@style": "color:#808080",
* "@class": "hidden rounded",
* "keyValue": "This is coloured"
* }
* }
* }
* ```
* @param oXMLParent an XML Document, Element or DocumentFragment to be converted
* into a Javascript Object
* @returns a Javascript Object representation of the passed in XML object
*/
static toObject(oXMLParent: Document | Element | DocumentFragment): T;
/**
* converts the passed in XML string into a Javascript object
*
* XML to object deserialisation will use the following rules:
* - element names become property names
* - attributes become properties preceeded by an `@` symbol inside the element object
* - element text content is rendered in a special property named `keyValue`
*
* *Ex:*
* ```xml
*
*
*
*
* This is coloured
*
*
* ```
* will become:
* ```json
* {
* "html": {
* "image": {
* "@src": "./foo/bar/baz.jpg",
* },
* "hr": {},
* "span": {
* "@style": "color:#808080",
* "@class": "hidden rounded",
* "keyValue": "This is coloured"
* }
* }
* }
* ```
* @param xml an XML string to be converted into a Javascript object
* @returns a Javascript object representing the passed in XML string
*/
static fromString(xml: string): T;
private static _parseText;
private static _fromXmlNode;
private static _fromElement;
}