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;
    };
    HEAP32: undefined;
    HEAP16: undefined;
    HEAP8: undefined;
    HEAPU8: undefined;
    getValue: (ptr: any, type?: string) => any;
    addFunction: (func: any, sig: any) => any;
    removeFunction: (index: any) => void;
    start: () => void;
}>;
