export default Xash3D;
declare function Xash3D(moduleArg?: {}): Promise<{
    Module: {};
    FS: {
        root: null;
        mounts: never[];
        devices: {};
        streams: never[];
        nextInode: number;
        nameTable: null;
        currentPath: string;
        initialized: boolean;
        ignorePermissions: boolean;
        filesystems: null;
        syncFSRequests: number;
        readFiles: {};
        ErrnoError: {
            new (errno: any): {
                name: string;
                errno: any;
            };
        };
        FSStream: {
            new (): {
                shared: {};
                get object(): any;
                set object(val: any);
                node: any;
                get isRead(): boolean;
                get isWrite(): boolean;
                get isAppend(): number;
                flags: any;
                position: any;
            };
        };
        FSNode: {
            new (parent: any, name: any, mode: any, rdev: any): {
                node_ops: {};
                stream_ops: {};
                readMode: number;
                writeMode: number;
                mounted: null;
                parent: any;
                mount: any;
                id: number;
                name: any;
                mode: any;
                rdev: any;
                atime: number;
                mtime: number;
                ctime: number;
                get read(): boolean;
                set read(val: boolean);
                get write(): boolean;
                set write(val: boolean);
                get isFolder(): boolean;
                get isDevice(): boolean;
            };
        };
        lookupPath(path: any, opts?: {}): {
            path: string;
            node?: undefined;
        } | {
            path: string;
            node: null;
        };
        getPath(node: any): any;
        hashName(parentid: any, name: any): number;
        hashAddNode(node: any): void;
        hashRemoveNode(node: any): void;
        lookupNode(parent: any, name: any): any;
        createNode(parent: any, name: any, mode: any, rdev: any): {
            node_ops: {};
            stream_ops: {};
            readMode: number;
            writeMode: number;
            mounted: null;
            parent: any;
            mount: any;
            id: number;
            name: any;
            mode: any;
            rdev: any;
            atime: number;
            mtime: number;
            ctime: number;
            get read(): boolean;
            set read(val: boolean);
            get write(): boolean;
            set write(val: boolean);
            get isFolder(): boolean;
            get isDevice(): boolean;
        };
        destroyNode(node: any): void;
        isRoot(node: any): boolean;
        isMountpoint(node: any): boolean;
        isFile(mode: any): boolean;
        isDir(mode: any): boolean;
        isLink(mode: any): boolean;
        isChrdev(mode: any): boolean;
        isBlkdev(mode: any): boolean;
        isFIFO(mode: any): boolean;
        isSocket(mode: any): boolean;
        flagsToPermissionString(flag: any): string;
        nodePermissions(node: any, perms: any): 0 | 2;
        mayLookup(dir: any): number;
        mayCreate(dir: any, name: any): 0 | 2 | 20 | 54;
        mayDelete(dir: any, name: any, isdir: any): any;
        mayOpen(node: any, flags: any): 0 | 2 | 32 | 44 | 31;
        checkOpExists(op: any, err: any): any;
        MAX_OPEN_FDS: number;
        nextfd(): number;
        getStreamChecked(fd: any): any;
        getStream: (fd: any) => never;
        createStream(stream: any, fd?: number): any;
        closeStream(fd: any): void;
        dupStream(origStream: any, fd?: number): any;
        doSetAttr(stream: any, node: any, attr: any): void;
        chrdev_stream_ops: {
            open(stream: any): void;
            llseek(): never;
        };
        major: (dev: any) => number;
        minor: (dev: any) => number;
        makedev: (ma: any, mi: any) => number;
        registerDevice(dev: any, ops: any): void;
        getDevice: (dev: any) => any;
        getMounts(mount: any): any[];
        syncfs(populate: any, callback: any): void;
        mount(type: any, opts: any, mountpoint: any): any;
        unmount(mountpoint: any): void;
        lookup(parent: any, name: any): any;
        mknod(path: any, mode: any, dev: any): any;
        statfs(path: any): {
            bsize: number;
            frsize: number;
            blocks: number;
            bfree: number;
            bavail: number;
            files: number;
            ffree: number;
            fsid: number;
            flags: number;
            namelen: number;
        };
        statfsStream(stream: any): {
            bsize: number;
            frsize: number;
            blocks: number;
            bfree: number;
            bavail: number;
            files: number;
            ffree: number;
            fsid: number;
            flags: number;
            namelen: number;
        };
        statfsNode(node: any): {
            bsize: number;
            frsize: number;
            blocks: number;
            bfree: number;
            bavail: number;
            files: number;
            ffree: number;
            fsid: number;
            flags: number;
            namelen: number;
        };
        create(path: any, mode?: number): any;
        mkdir(path: any, mode?: number): any;
        mkdirTree(path: any, mode: any): void;
        mkdev(path: any, mode: any, dev: any): any;
        symlink(oldpath: any, newpath: any): any;
        rename(old_path: any, new_path: any): void;
        rmdir(path: any): void;
        readdir(path: any): any;
        unlink(path: any): void;
        readlink(path: any): any;
        stat(path: any, dontFollow: any): any;
        fstat(fd: any): any;
        lstat(path: any): any;
        doChmod(stream: any, node: any, mode: any, dontFollow: any): void;
        chmod(path: any, mode: any, dontFollow: any): void;
        lchmod(path: any, mode: any): void;
        fchmod(fd: any, mode: any): void;
        doChown(stream: any, node: any, dontFollow: any): void;
        chown(path: any, uid: any, gid: any, dontFollow: any): void;
        lchown(path: any, uid: any, gid: any): void;
        fchown(fd: any, uid: any, gid: any): void;
        doTruncate(stream: any, node: any, len: any): void;
        truncate(path: any, len: any): void;
        ftruncate(fd: any, len: any): void;
        utime(path: any, atime: any, mtime: any): void;
        open(path: any, flags: any, mode?: number): any;
        close(stream: any): void;
        isClosed(stream: any): boolean;
        llseek(stream: any, offset: any, whence: any): any;
        read(stream: any, buffer: any, offset: any, length: any, position: any): any;
        write(stream: any, buffer: any, offset: any, length: any, position: any, canOwn: any): any;
        mmap(stream: any, length: any, position: any, prot: any, flags: any): any;
        msync(stream: any, buffer: any, offset: any, length: any, mmapFlags: any): any;
        ioctl(stream: any, cmd: any, arg: any): any;
        readFile(path: any, opts?: {}): Uint8Array<any>;
        writeFile(path: any, data: any, opts?: {}): void;
        cwd: () => string;
        chdir(path: any): void;
        createDefaultDirectories(): void;
        createDefaultDevices(): void;
        createSpecialDirectories(): void;
        createStandardStreams(input: any, output: any, error: any): void;
        staticInit(): void;
        init(input: any, output: any, error: any): void;
        quit(): void;
        findObject(path: any, dontResolveLastLink: any): null;
        analyzePath(path: any, dontResolveLastLink: any): {
            isRoot: boolean;
            exists: boolean;
            error: number;
            name: null;
            path: null;
            object: null;
            parentExists: boolean;
            parentPath: null;
            parentObject: null;
        };
        createPath(parent: any, path: any, canRead: any, canWrite: any): string;
        createFile(parent: any, name: any, properties: any, canRead: any, canWrite: any): any;
        createDataFile(parent: any, name: any, data: any, canRead: any, canWrite: any, canOwn: any): void;
        createDevice(parent: any, name: any, input: any, output: any): any;
        forceLoadFile(obj: any): true | undefined;
        createLazyFile(parent: any, name: any, url: any, canRead: any, canWrite: any): any;
    };
    SOCKFS: {
        websocketArgs: {};
        callbacks: {};
        on(event: any, callback: any): void;
        emit(event: any, param: any): void;
        mount(mount: any): {
            node_ops: {};
            stream_ops: {};
            readMode: number;
            writeMode: number;
            mounted: null;
            parent: any;
            mount: any;
            id: number;
            name: any;
            mode: any;
            rdev: any;
            atime: number;
            mtime: number;
            ctime: number;
            get read(): boolean;
            set read(val: boolean);
            get write(): boolean;
            set write(val: boolean);
            get isFolder(): boolean;
            get isDevice(): boolean;
        };
        createSocket(family: any, type: any, protocol: any): {
            family: any;
            type: any;
            protocol: any;
            server: null;
            error: null;
            peers: {};
            pending: never[];
            recv_queue: never[];
            sock_ops: {
                createPeer(sock: any, addr: any, port: any): {
                    addr: any;
                    port: any;
                    socket: any;
                    msg_send_queue: never[];
                };
                getPeer(sock: any, addr: any, port: any): any;
                addPeer(sock: any, peer: any): void;
                removePeer(sock: any, peer: any): void;
                handlePeerEvents(sock: any, peer: any): void;
                poll(sock: any): number;
                ioctl(sock: any, request: any, arg: any): 0 | 28;
                close(sock: any): number;
                bind(sock: any, addr: any, port: any): void;
                connect(sock: any, addr: any, port: any): void;
                listen(sock: any, backlog: any): void;
                accept(listensock: any): any;
                getname(sock: any, peer: any): {
                    addr: any;
                    port: any;
                };
                sendmsg(sock: any, buffer: any, offset: any, length: any, addr: any, port: any): any;
                recvmsg(sock: any, length: any): {
                    buffer: Uint8Array<any>;
                    addr: any;
                    port: any;
                } | null;
            };
        };
        getSocket(fd: any): any;
        stream_ops: {
            poll(stream: any): any;
            ioctl(stream: any, request: any, varargs: any): any;
            read(stream: any, buffer: any, offset: any, length: any, position: any): any;
            write(stream: any, buffer: any, offset: any, length: any, position: any): any;
            close(stream: any): void;
        };
        nextname(): any;
        websocket_sock_ops: {
            createPeer(sock: any, addr: any, port: any): {
                addr: any;
                port: any;
                socket: any;
                msg_send_queue: never[];
            };
            getPeer(sock: any, addr: any, port: any): any;
            addPeer(sock: any, peer: any): void;
            removePeer(sock: any, peer: any): void;
            handlePeerEvents(sock: any, peer: any): void;
            poll(sock: any): number;
            ioctl(sock: any, request: any, arg: any): 0 | 28;
            close(sock: any): number;
            bind(sock: any, addr: any, port: any): void;
            connect(sock: any, addr: any, port: any): void;
            listen(sock: any, backlog: any): void;
            accept(listensock: any): any;
            getname(sock: any, peer: any): {
                addr: any;
                port: any;
            };
            sendmsg(sock: any, buffer: any, offset: any, length: any, addr: any, port: any): any;
            recvmsg(sock: any, length: any): {
                buffer: Uint8Array<any>;
                addr: any;
                port: any;
            } | null;
        };
    };
    DNS: {
        address_map: {
            id: number;
            addrs: {};
            names: {};
        };
        lookup_name(name: any): any;
        lookup_addr(addr: any): any;
    };
    HEAPU32: undefined;
    HEAP32: undefined;
    HEAP16: undefined;
    HEAP8: undefined;
    HEAPU8: undefined;
    getValue: (ptr: any, type?: string) => any;
    addFunction: (func: any, sig: any) => any;
    removeFunction: (index: any) => void;
    setValue: (ptr: any, value: any, type?: string) => void;
    writeArrayToMemory: (array: any, buffer: any) => void;
    intArrayFromString: (stringy: any, dontAddNull: any, length: any) => any[];
    writeSockaddr: (sa: any, family: any, addr: any, port: any, addrlen: any) => 0 | 5;
    readSockaddr: (sa: any, salen: any) => {
        errno: number;
        family?: undefined;
        addr?: undefined;
        port?: undefined;
    } | {
        family: any;
        addr: string;
        port: any;
        errno?: undefined;
    };
    AsciiToString: (ptr: any) => string | undefined;
    _malloc: undefined;
    addRunDependency: (id: any) => void;
    removeRunDependency: (id: any) => void;
    start: () => void;
}>;
