import { XNode } from "./XNode";
import { XmlNode, XmlElement, XmlDocument, XmlNodeType } from "./xml";
import { XName } from "./XName";
import { IEnumerable$1, Type } from "./type";
import { XAttribute } from "./XAttribute";
export declare abstract class XContainer extends XNode {
    constructor(a: XmlNode);
    h(a: XName): XElement;
    d(): IEnumerable$1<XElement>;
    e(a: XName): IEnumerable$1<XElement>;
    private f(a);
    g(a: any): void;
    static $t: Type;
}
export declare class XDocument extends XContainer {
    constructor(a: number, b: XmlDocument);
    constructor(a: number);
    constructor(a: number, ..._rest: any[]);
    protected get_c(): XmlNodeType;
    readonly c: XmlNodeType;
    static i(a: string): XDocument;
    static $t: Type;
}
export declare class XElement extends XContainer {
    constructor(a: number, b: XmlElement);
    constructor(a: number, b: XName);
    constructor(a: number, b: XName, c: any);
    constructor(a: number, ..._rest: any[]);
    i: string;
    protected get_c(): XmlNodeType;
    readonly c: XmlNodeType;
    readonly l: XName;
    k(a: XName): XAttribute;
    j(a: XmlNode, b: XmlDocument): void;
    static $t: Type;
}
