"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __exportStar = (this && this.__exportStar) || function(m, exports) {
    for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.XmlText = exports.XmlProcessingInstruction = exports.XmlNode = exports.XmlError = exports.XmlElement = exports.XmlDocumentType = exports.XmlDocument = exports.XmlDeclaration = exports.XmlComment = exports.XmlCdata = void 0;
exports.parseXml = parseXml;
const Parser_js_1 = require("./lib/Parser.js");
__exportStar(require("./lib/types.js"), exports);
var XmlCdata_js_1 = require("./lib/XmlCdata.js");
Object.defineProperty(exports, "XmlCdata", { enumerable: true, get: function () { return XmlCdata_js_1.XmlCdata; } });
var XmlComment_js_1 = require("./lib/XmlComment.js");
Object.defineProperty(exports, "XmlComment", { enumerable: true, get: function () { return XmlComment_js_1.XmlComment; } });
var XmlDeclaration_js_1 = require("./lib/XmlDeclaration.js");
Object.defineProperty(exports, "XmlDeclaration", { enumerable: true, get: function () { return XmlDeclaration_js_1.XmlDeclaration; } });
var XmlDocument_js_1 = require("./lib/XmlDocument.js");
Object.defineProperty(exports, "XmlDocument", { enumerable: true, get: function () { return XmlDocument_js_1.XmlDocument; } });
var XmlDocumentType_js_1 = require("./lib/XmlDocumentType.js");
Object.defineProperty(exports, "XmlDocumentType", { enumerable: true, get: function () { return XmlDocumentType_js_1.XmlDocumentType; } });
var XmlElement_js_1 = require("./lib/XmlElement.js");
Object.defineProperty(exports, "XmlElement", { enumerable: true, get: function () { return XmlElement_js_1.XmlElement; } });
var XmlError_js_1 = require("./lib/XmlError.js");
Object.defineProperty(exports, "XmlError", { enumerable: true, get: function () { return XmlError_js_1.XmlError; } });
var XmlNode_js_1 = require("./lib/XmlNode.js");
Object.defineProperty(exports, "XmlNode", { enumerable: true, get: function () { return XmlNode_js_1.XmlNode; } });
var XmlProcessingInstruction_js_1 = require("./lib/XmlProcessingInstruction.js");
Object.defineProperty(exports, "XmlProcessingInstruction", { enumerable: true, get: function () { return XmlProcessingInstruction_js_1.XmlProcessingInstruction; } });
var XmlText_js_1 = require("./lib/XmlText.js");
Object.defineProperty(exports, "XmlText", { enumerable: true, get: function () { return XmlText_js_1.XmlText; } });
/**
 * Parses the given XML string and returns an `XmlDocument` instance
 * representing the document tree.
 *
 * @example
 *
 * import { parseXml } from '@rgrove/parse-xml';
 * let doc = parseXml('<kittens fuzzy="yes">I like fuzzy kittens.</kittens>');
 *
 * @param xml XML string to parse.
 * @param options Parser options.
 */
function parseXml(xml, options) {
    return (new Parser_js_1.Parser(xml, options)).document;
}
//# sourceMappingURL=index.js.map