import { XMLNode } from "@hpcc-js/util";
export declare class XSDNode {
    protected e?: XMLNode;
    constructor(e: XMLNode);
    fix(): void;
}
export declare class XSDXMLNode extends XSDNode {
    name: string;
    type: string;
    isSet: boolean;
    attrs: {
        [key: string]: string;
    };
    private _children;
    constructor(e: XMLNode);
    append(child: XSDXMLNode): void;
    fix(): void;
    children(): XSDXMLNode[];
    private isAll;
    private setOfType;
    charWidth(): number;
}
export declare class XSDSimpleType extends XSDNode {
    name: string;
    type: string;
    maxLength: number | undefined;
    protected _restricition?: XMLNode;
    protected _maxLength?: XMLNode;
    constructor(e: XMLNode);
    append(e: XMLNode): void;
    fix(): void;
}
export declare class XSDSchema {
    root: XSDXMLNode;
    simpleTypes: {
        [name: string]: XSDSimpleType;
    };
    fields(): XSDXMLNode[];
}
export declare function parseXSD(xml: string): XSDSchema;
export declare function parseXSD2(xml: string, rootName: any): XSDSchema;
