// TypeScript bindings for emscripten-generated code.  Automatically generated at compile time.
declare namespace RuntimeExports {
    let addRunDependency: any;
    let removeRunDependency: any;
    function ptrToString(ptr: any): string;
    function warnOnce(text: any): void;
    function handleException(e: any): any;
    function getNativeTypeSize(type: any): any;
    /**
     * @param {string|null=} returnType
     * @param {Array=} argTypes
     * @param {Arguments|Array=} args
     * @param {Object=} opts
     */
    function ccall(ident: any, returnType?: (string | null) | undefined, argTypes?: any[] | undefined, args?: (Arguments | any[]) | undefined, opts?: any | undefined): any;
    /**
     * @param {string=} returnType
     * @param {Array=} argTypes
     * @param {Object=} opts
     */
    function cwrap(ident: any, returnType?: string | undefined, argTypes?: any[] | undefined, opts?: any | undefined): (...args: any[]) => any;
    /**
     * Given a pointer 'ptr' to a null-terminated UTF8-encoded string in the
     * emscripten HEAP, returns a copy of that string as a Javascript String object.
     *
     * @param {number} ptr
     * @param {number=} maxBytesToRead - An optional length that specifies the
     *   maximum number of bytes to read. You can omit this parameter to scan the
     *   string until the first 0 byte. If maxBytesToRead is passed, and the string
     *   at [ptr, ptr+maxBytesToReadr[ contains a null byte in the middle, then the
     *   string will cut short at that byte index (i.e. maxBytesToRead will not
     *   produce a string of exact length [ptr, ptr+maxBytesToRead[) N.B. mixing
     *   frequent uses of UTF8ToString() with and without maxBytesToRead may throw
     *   JS JIT optimizations off, so it is worth to consider consistently using one
     * @return {string}
     */
    function UTF8ToString(ptr: number, maxBytesToRead?: number | undefined): string;
    function stringToUTF8Array(str: any, heap: any, outIdx: any, maxBytesToWrite: any): number;
    function stringToUTF8(str: any, outPtr: any, maxBytesToWrite: any): any;
    function lengthBytesUTF8(str: any): number;
    function intArrayFromString(arg0: string, arg1?: boolean | undefined, arg2?: number | undefined): any;
    function intArrayToString(array: any): string;
    function stringToNewUTF8(str: any): any;
    function writeArrayToMemory(array: any, buffer: any): void;
    /**
     * @param {number} ptr
     * @param {string} type
     */
    function getValue(ptr: number, type?: string): any;
    /**
     * @param {number} ptr
     * @param {number} value
     * @param {string} type
     */
    function setValue(ptr: number, value: number, type?: string): void;
    namespace FS {
        export let root: any;
        export let mounts: any[];
        export let devices: {};
        export let streams: any[];
        export let nextInode: number;
        export let nameTable: any;
        export let currentPath: string;
        export let initialized: boolean;
        export let ignorePermissions: boolean;
        export let filesystems: any;
        export let syncFSRequests: number;
        export let readFiles: {};
        export { ErrnoError };
        export { FSStream };
        export { FSNode };
        export function lookupPath(path: any, opts?: {}): {
            path: string;
            node?: undefined;
        } | {
            path: string;
            node: any;
        };
        export function getPath(node: any): any;
        export function hashName(parentid: any, name: any): number;
        export function hashAddNode(node: any): void;
        export function hashRemoveNode(node: any): void;
        export function lookupNode(parent: any, name: any): any;
        export function createNode(parent: any, name: any, mode: any, rdev: any): any;
        export function destroyNode(node: any): void;
        export function isRoot(node: any): boolean;
        export function isMountpoint(node: any): boolean;
        export function isFile(mode: any): boolean;
        export function isDir(mode: any): boolean;
        export function isLink(mode: any): boolean;
        export function isChrdev(mode: any): boolean;
        export function isBlkdev(mode: any): boolean;
        export function isFIFO(mode: any): boolean;
        export function isSocket(mode: any): boolean;
        export function flagsToPermissionString(flag: any): string;
        export function nodePermissions(node: any, perms: any): 0 | 2;
        export function mayLookup(dir: any): any;
        export function mayCreate(dir: any, name: any): any;
        export function mayDelete(dir: any, name: any, isdir: any): any;
        export function mayOpen(node: any, flags: any): any;
        export function checkOpExists(op: any, err: any): any;
        export let MAX_OPEN_FDS: number;
        export function nextfd(): number;
        export function getStreamChecked(fd: any): any;
        export function getStream(fd: any): any;
        export function createStream(stream: any, fd?: number): any;
        export function closeStream(fd: any): void;
        export function dupStream(origStream: any, fd?: number): any;
        export function doSetAttr(stream: any, node: any, attr: any): void;
        export namespace chrdev_stream_ops {
            function open(stream: any): void;
            function llseek(): never;
        }
        export function major(dev: any): number;
        export function minor(dev: any): number;
        export function makedev(ma: any, mi: any): number;
        export function registerDevice(dev: any, ops: any): void;
        export function getDevice(dev: any): any;
        export function getMounts(mount: any): any[];
        export function syncfs(populate: any, callback: any): void;
        export function mount(type: any, opts: any, mountpoint: any): any;
        export function unmount(mountpoint: any): void;
        export function lookup(parent: any, name: any): any;
        export function mknod(path: any, mode: any, dev: any): any;
        export function statfs(path: any): any;
        export function statfsStream(stream: any): any;
        export function statfsNode(node: any): {
            bsize: number;
            frsize: number;
            blocks: number;
            bfree: number;
            bavail: number;
            files: any;
            ffree: number;
            fsid: number;
            flags: number;
            namelen: number;
        };
        export function create(path: any, mode?: number): any;
        export function mkdir(path: any, mode?: number): any;
        export function mkdirTree(path: any, mode: any): void;
        export function mkdev(path: any, mode: any, dev: any): any;
        export function symlink(oldpath: any, newpath: any): any;
        export function rename(old_path: any, new_path: any): void;
        export function rmdir(path: any): void;
        export function readdir(path: any): any;
        export function unlink(path: any): void;
        export function readlink(path: any): any;
        export function stat(path: any, dontFollow: any): any;
        export function fstat(fd: any): any;
        export function lstat(path: any): any;
        export function doChmod(stream: any, node: any, mode: any, dontFollow: any): void;
        export function chmod(path: any, mode: any, dontFollow: any): void;
        export function lchmod(path: any, mode: any): void;
        export function fchmod(fd: any, mode: any): void;
        export function doChown(stream: any, node: any, dontFollow: any): void;
        export function chown(path: any, uid: any, gid: any, dontFollow: any): void;
        export function lchown(path: any, uid: any, gid: any): void;
        export function fchown(fd: any, uid: any, gid: any): void;
        export function doTruncate(stream: any, node: any, len: any): void;
        export function truncate(path: any, len: any): void;
        export function ftruncate(fd: any, len: any): void;
        export function utime(path: any, atime: any, mtime: any): void;
        export function open(path: any, flags: any, mode?: number): any;
        export function close(stream: any): void;
        export function isClosed(stream: any): boolean;
        export function llseek(stream: any, offset: any, whence: any): any;
        export function read(stream: any, buffer: any, offset: any, length: any, position: any): any;
        export function write(stream: any, buffer: any, offset: any, length: any, position: any, canOwn: any): any;
        export function mmap(stream: any, length: any, position: any, prot: any, flags: any): any;
        export function msync(stream: any, buffer: any, offset: any, length: any, mmapFlags: any): any;
        export function ioctl(stream: any, cmd: any, arg: any): any;
        export function readFile(path: any, opts?: {}): any;
        export function writeFile(path: any, data: any, opts?: {}): void;
        export function cwd(): any;
        export function chdir(path: any): void;
        export function createDefaultDirectories(): void;
        export function createDefaultDevices(): void;
        export function createSpecialDirectories(): void;
        export function createStandardStreams(input: any, output: any, error: any): void;
        export function staticInit(): void;
        export function init(input: any, output: any, error: any): void;
        export function quit(): void;
        export function findObject(path: any, dontResolveLastLink: any): any;
        export function analyzePath(path: any, dontResolveLastLink: any): {
            isRoot: boolean;
            exists: boolean;
            error: number;
            name: any;
            path: any;
            object: any;
            parentExists: boolean;
            parentPath: any;
            parentObject: any;
        };
        export function createPath(parent: any, path: any, canRead: any, canWrite: any): any;
        export function createFile(parent: any, name: any, properties: any, canRead: any, canWrite: any): any;
        export function createDataFile(parent: any, name: any, data: any, canRead: any, canWrite: any, canOwn: any): void;
        export function createDevice(parent: any, name: any, input: any, output: any): any;
        export function forceLoadFile(obj: any): boolean;
        export function createLazyFile(parent: any, name: any, url: any, canRead: any, canWrite: any): any;
        export function absolutePath(): void;
        export function createFolder(): void;
        export function createLink(): void;
        export function joinPath(): void;
        export function mmapAlloc(): void;
        export function standardizePath(): void;
    }
    let FS_createPath: any;
    function FS_createDataFile(parent: any, name: any, fileData: any, canRead: any, canWrite: any, canOwn: any): void;
    function FS_createPreloadedFile(parent: any, name: any, url: any, canRead: any, canWrite: any, onload: any, onerror: any, dontCreateFile: any, canOwn: any, preFinish: any): void;
    function FS_unlink(path: any): any;
    let FS_createLazyFile: any;
    let FS_createDevice: any;
}
declare class ErrnoError extends Error {
    constructor(errno: any);
    errno: any;
    code: string;
}
declare class FSStream {
    shared: {};
    set object(val: any);
    get object(): any;
    node: any;
    get isRead(): boolean;
    get isWrite(): boolean;
    get isAppend(): number;
    set flags(val: any);
    get flags(): any;
    set position(val: any);
    get position(): any;
}
declare class FSNode {
    constructor(parent: any, name: any, mode: any, rdev: any);
    node_ops: {};
    stream_ops: {};
    readMode: number;
    writeMode: number;
    mounted: any;
    parent: any;
    mount: any;
    id: number;
    name: any;
    mode: any;
    rdev: any;
    atime: number;
    mtime: number;
    ctime: number;
    set read(val: boolean);
    get read(): boolean;
    set write(val: boolean);
    get write(): boolean;
    get isFolder(): any;
    get isDevice(): any;
}
interface WasmModule {
  _exsltRegisterAll(): void;
  _exsltCommonRegister(): void;
  _exsltMathRegister(): void;
  _exsltSetsRegister(): void;
  _exsltFuncRegister(): void;
  _exsltStrRegister(): void;
  _exsltDateRegister(): void;
  _exsltSaxonRegister(): void;
  _exsltDynRegister(): void;
  _xsltInit(): void;
  _xsltUninit(): void;
  _xsltFreeStylesheet(_0: number): void;
  _xsltParseStylesheetProcess(_0: number, _1: number): number;
  _xsltParseStylesheetImportedDoc(_0: number, _1: number): number;
  _xsltParseStylesheetDoc(_0: number): number;
  _xsltLoadStylesheetPI(_0: number): number;
  _xsltSaveResultTo(_0: number, _1: number, _2: number): number;
  _xsltSaveResultToFile(_0: number, _1: number, _2: number): number;
  _xsltXPathCompileFlags(_0: number, _1: number, _2: number): number;
  _xsltXPathCompile(_0: number, _1: number): number;
  _xsltInitGlobals(): void;
  _xsltCleanupGlobals(): void;
  _xsltRegisterAllExtras(): void;
  _xsltNextImport(_0: number): number;
  _xsltResolveStylesheetAttributeSet(_0: number): void;
  _xsltFreeAttributeSetsHashes(_0: number): void;
  _xsltSetXIncludeDefault(_0: number): void;
  _xsltGetXIncludeDefault(): number;
  _xsltApplyStylesheet(_0: number, _1: number, _2: number): number;
  _xmlDetectCharEncoding(_0: number, _1: number): number;
  _xmlParseCharEncoding(_0: number): number;
  _xmlLookupCharEncodingHandler(_0: number, _1: number): number;
  _xmlResetLastError(): void;
  _xmlGetLastError(): number;
  _xmlHasFeature(_0: number): number;
  _xmlParseDTD(_0: number, _1: number): number;
  _xmlParseEntity(_0: number): number;
  _xmlParseFile(_0: number): number;
  _xmlParseMemory(_0: number, _1: number): number;
  _xmlReadDoc(_0: number, _1: number, _2: number, _3: number): number;
  _xmlReadFile(_0: number, _1: number, _2: number): number;
  _xmlReadMemory(_0: number, _1: number, _2: number, _3: number, _4: number): number;
  _xmlReadFd(_0: number, _1: number, _2: number, _3: number): number;
  _xmlReadIO(_0: number, _1: number, _2: number, _3: number, _4: number, _5: number): number;
  _xmlInputSetEncodingHandler(_0: number, _1: number): number;
  _xmlNewInputFromMemory(_0: number, _1: number, _2: number, _3: number): number;
  _xmlNewInputFromString(_0: number, _1: number, _2: number): number;
  _xmlNewInputFromFd(_0: number, _1: number, _2: number): number;
  _xmlNewInputFromIO(_0: number, _1: number, _2: number, _3: number, _4: number): number;
  _xmlNewInputFromUrl(_0: number, _1: number, _2: number): number;
  _xmlSetExternalEntityLoader(_0: number): void;
  _xmlGetExternalEntityLoader(): number;
  _xmlLoadExternalEntity(_0: number, _1: number, _2: number): number;
  _xmlInitParser(): void;
  _xmlCleanupParser(): void;
  _xmlFreeDtd(_0: number): void;
  _xmlGetIntSubset(_0: number): number;
  _xmlFreeDoc(_0: number): void;
  _xmlDocGetRootElement(_0: number): number;
  _xmlDocSetRootElement(_0: number, _1: number): number;
  _xmlGetDocCompressMode(_0: number): number;
  _xmlCheckFilename(_0: number): number;
  _xmlAllocOutputBuffer(_0: number): number;
  _xmlOutputBufferClose(_0: number): number;
  _xmlOutputBufferCreateFilename(_0: number, _1: number, _2: number): number;
  _xmlOutputBufferCreateFile(_0: number, _1: number): number;
  _xmlOutputBufferGetContent(_0: number): number;
  _xmlOutputBufferGetSize(_0: number): number;
  _xmlOutputBufferCreateFd(_0: number, _1: number): number;
  _xmlOutputBufferWrite(_0: number, _1: number, _2: number): number;
  _xmlOutputBufferWriteString(_0: number, _1: number): number;
  _xmlCharStrdup(_0: number): number;
  _xmlCheckUTF8(_0: number): number;
  _htmlDocContentDumpFormatOutput(_0: number, _1: number, _2: number, _3: number): void;
  _xmlNodeDump(_0: number, _1: number, _2: number, _3: number, _4: number): number;
  _xmlNodeDumpOutput(_0: number, _1: number, _2: number, _3: number, _4: number, _5: number): void;
  _xmlDocDumpFormatMemoryEnc(_0: number, _1: number, _2: number, _3: number, _4: number): void;
  _xmlDocDumpMemory(_0: number, _1: number, _2: number): void;
  _xmlDocDumpFormatMemory(_0: number, _1: number, _2: number, _3: number): void;
  _xmlDocDumpMemoryEnc(_0: number, _1: number, _2: number, _3: number): void;
  _xmlDocFormatDump(_0: number, _1: number, _2: number): number;
  _xmlDocDump(_0: number, _1: number): number;
  _xmlSaveFileTo(_0: number, _1: number, _2: number): number;
  _xmlSaveFormatFileTo(_0: number, _1: number, _2: number, _3: number): number;
  _xmlSaveFormatFileEnc(_0: number, _1: number, _2: number, _3: number): number;
  _xmlSaveFormatFile(_0: number, _1: number, _2: number): number;
  _xmlXIncludeNewContext(_0: number): number;
  _xmlXIncludeFreeContext(_0: number): void;
  _xmlXIncludeGetLastError(_0: number): number;
  _xmlXIncludeProcessFlagsData(_0: number, _1: number, _2: number): number;
  _xmlXIncludeProcessFlags(_0: number, _1: number): number;
  _xmlXIncludeProcess(_0: number): number;
  _xmlXPathOrderDocElems(_0: number): number;
  _libxsltWasmExternalEntityLoader(_0: number, _1: number, _2: number): number;
  _malloc(_0: number): number;
  _free(_0: number): void;
  _realloc(_0: number, _1: number): number;
  _calloc(_0: number, _1: number): number;
  ___original_main(): number;
  _main(_0: number, _1: number): number;
}

export interface ClassHandle {
  isAliasOf(other: ClassHandle): boolean;
  delete(): void;
  deleteLater(): this;
  isDeleted(): boolean;
  clone(): this;
}
export interface xmlCharEncodingValue<T extends number> {
  value: T;
}
export type xmlCharEncoding = xmlCharEncodingValue<-1>|xmlCharEncodingValue<0>|xmlCharEncodingValue<1>|xmlCharEncodingValue<2>|xmlCharEncodingValue<3>|xmlCharEncodingValue<4>|xmlCharEncodingValue<5>|xmlCharEncodingValue<6>|xmlCharEncodingValue<7>|xmlCharEncodingValue<8>|xmlCharEncodingValue<9>|xmlCharEncodingValue<10>|xmlCharEncodingValue<11>|xmlCharEncodingValue<12>|xmlCharEncodingValue<13>|xmlCharEncodingValue<14>|xmlCharEncodingValue<15>|xmlCharEncodingValue<16>|xmlCharEncodingValue<17>|xmlCharEncodingValue<18>|xmlCharEncodingValue<19>|xmlCharEncodingValue<20>|xmlCharEncodingValue<21>|xmlCharEncodingValue<22>|xmlCharEncodingValue<23>|xmlCharEncodingValue<24>|xmlCharEncodingValue<25>|xmlCharEncodingValue<26>|xmlCharEncodingValue<27>|xmlCharEncodingValue<28>|xmlCharEncodingValue<29>|xmlCharEncodingValue<30>;

export interface xmlParserOptionValue<T extends number> {
  value: T;
}
export type xmlParserOption = xmlParserOptionValue<1>|xmlParserOptionValue<2>|xmlParserOptionValue<4>|xmlParserOptionValue<8>|xmlParserOptionValue<16>|xmlParserOptionValue<32>|xmlParserOptionValue<64>|xmlParserOptionValue<128>|xmlParserOptionValue<256>|xmlParserOptionValue<512>|xmlParserOptionValue<1024>|xmlParserOptionValue<2048>|xmlParserOptionValue<4096>|xmlParserOptionValue<8192>|xmlParserOptionValue<16384>|xmlParserOptionValue<32768>|xmlParserOptionValue<65536>|xmlParserOptionValue<131072>|xmlParserOptionValue<262144>|xmlParserOptionValue<524288>|xmlParserOptionValue<1048576>|xmlParserOptionValue<2097152>|xmlParserOptionValue<4194304>|xmlParserOptionValue<8388608>|xmlParserOptionValue<16777216>|xmlParserOptionValue<33554432>|xmlParserOptionValue<67108864>;

export interface xmlParserStatusValue<T extends number> {
  value: T;
}
export type xmlParserStatus = xmlParserStatusValue<1>|xmlParserStatusValue<2>|xmlParserStatusValue<4>|xmlParserStatusValue<8>;

export interface NOOP extends ClassHandle {
}

interface EmbindModule {
  xmlCharEncoding: {ERROR: xmlCharEncodingValue<-1>, NONE: xmlCharEncodingValue<0>, UTF8: xmlCharEncodingValue<1>, UTF16LE: xmlCharEncodingValue<2>, UTF16BE: xmlCharEncodingValue<3>, UCS4LE: xmlCharEncodingValue<4>, UCS4BE: xmlCharEncodingValue<5>, EBCDIC: xmlCharEncodingValue<6>, UCS4_2143: xmlCharEncodingValue<7>, UCS4_3412: xmlCharEncodingValue<8>, UCS2: xmlCharEncodingValue<9>, ISO_8859_1: xmlCharEncodingValue<10>, ISO_8859_2: xmlCharEncodingValue<11>, ISO_8859_3: xmlCharEncodingValue<12>, ISO_8859_4: xmlCharEncodingValue<13>, ISO_8859_5: xmlCharEncodingValue<14>, ISO_8859_6: xmlCharEncodingValue<15>, ISO_8859_7: xmlCharEncodingValue<16>, ISO_8859_8: xmlCharEncodingValue<17>, ISO_8859_9: xmlCharEncodingValue<18>, ISO_2022_JP: xmlCharEncodingValue<19>, SHIFT_JIS: xmlCharEncodingValue<20>, EUC_JP: xmlCharEncodingValue<21>, ASCII: xmlCharEncodingValue<22>, UTF16: xmlCharEncodingValue<23>, HTML: xmlCharEncodingValue<24>, ISO_8859_10: xmlCharEncodingValue<25>, ISO_8859_11: xmlCharEncodingValue<26>, ISO_8859_13: xmlCharEncodingValue<27>, ISO_8859_14: xmlCharEncodingValue<28>, ISO_8859_15: xmlCharEncodingValue<29>, ISO_8859_16: xmlCharEncodingValue<30>};
  xmlParserOption: {RECOVER: xmlParserOptionValue<1>, NOENT: xmlParserOptionValue<2>, DTDLOAD: xmlParserOptionValue<4>, DTDATTR: xmlParserOptionValue<8>, DTDVALID: xmlParserOptionValue<16>, NOERROR: xmlParserOptionValue<32>, NOWARNING: xmlParserOptionValue<64>, PEDANTIC: xmlParserOptionValue<128>, NOBLANKS: xmlParserOptionValue<256>, SAX1: xmlParserOptionValue<512>, XINCLUDE: xmlParserOptionValue<1024>, NONET: xmlParserOptionValue<2048>, NODICT: xmlParserOptionValue<4096>, NSCLEAN: xmlParserOptionValue<8192>, NOCDATA: xmlParserOptionValue<16384>, NOXINCNODE: xmlParserOptionValue<32768>, COMPACT: xmlParserOptionValue<65536>, OLD10: xmlParserOptionValue<131072>, NOBASEFIX: xmlParserOptionValue<262144>, HUGE: xmlParserOptionValue<524288>, OLDSAX: xmlParserOptionValue<1048576>, IGNORE_ENC: xmlParserOptionValue<2097152>, BIG_LINES: xmlParserOptionValue<4194304>, NO_XXE: xmlParserOptionValue<8388608>, UNZIP: xmlParserOptionValue<16777216>, NO_SYS_CATALOG: xmlParserOptionValue<33554432>, CATALOG_PI: xmlParserOptionValue<67108864>};
  xmlParserStatus: {NOT_WELL_FORMED: xmlParserStatusValue<1>, NOT_NS_WELL_FORMED: xmlParserStatusValue<2>, DTD_VALIDATION_FAILED: xmlParserStatusValue<4>, CATASTROPHIC_ERROR: xmlParserStatusValue<8>};
  NOOP: {};
}

export type MainModule = WasmModule & typeof RuntimeExports & EmbindModule;
export default function MainModuleFactory (options?: unknown): Promise<MainModule>;
