import { OpenDirectory, OpenFile, OpenSyncOPFSFile } from "./fs_fd.js"; import * as wasi from "./wasi_defs.js"; type FileOptions = Partial<{ readonly: boolean; }>; export declare class File { data: Uint8Array; readonly: boolean; constructor(data: ArrayBuffer | SharedArrayBuffer | Uint8Array | Array, options?: FileOptions); open(fd_flags: number, fs_rights_base: bigint): OpenFile; get size(): bigint; stat(): wasi.Filestat; truncate(): number; } export interface FileSystemSyncAccessHandle { close(): void; flush(): void; getSize(): number; read(buffer: ArrayBuffer | ArrayBufferView, options?: { at: number; }): number; truncate(to: number): void; write(buffer: ArrayBuffer | ArrayBufferView, options?: { at: number; }): number; } export declare class SyncOPFSFile { handle: FileSystemSyncAccessHandle; readonly: boolean; constructor(handle: FileSystemSyncAccessHandle, options?: FileOptions); open(fd_flags: number, fs_rights_base: bigint): OpenSyncOPFSFile; get size(): bigint; stat(): wasi.Filestat; truncate(): number; } export declare class Directory { contents: { [key: string]: File | Directory | SyncOPFSFile; }; readonly: boolean; constructor(contents: { [key: string]: File | Directory | SyncOPFSFile; }); open(fd_flags: number): OpenDirectory; stat(): wasi.Filestat; get_entry_for_path(path: string): File | Directory | SyncOPFSFile | null; create_entry_for_path(path: string, is_dir: boolean): File | Directory | SyncOPFSFile; } export {};