///
import { DirectoryJSON } from "@cowasm/memfs";
import { WASIFileSystem } from "./types";
interface NativeFs {
type: "native";
}
interface DevFs {
type: "dev";
}
interface ZipFsFile {
type: "zipfile";
zipfile: string;
mountpoint: string;
async?: boolean;
}
interface ZipFsUrl {
type: "zipurl";
zipurl: string;
mountpoint: string;
async?: boolean;
}
interface ZipFs {
type: "zip";
data: Buffer;
mountpoint: string;
}
interface ZipFsAsync {
type: "zip-async";
getData: () => Promise;
mountpoint: string;
}
interface MemFs {
type: "mem";
contents?: DirectoryJSON;
}
export declare type FileSystemSpec = NativeFs | ZipFs | ZipFsAsync | ZipFsFile | ZipFsUrl | MemFs | DevFs;
export declare function createFileSystem(specs: FileSystemSpec[], nativeFs?: WASIFileSystem): WASIFileSystem;
export {};