import { Plug } from "@plugos/plugos/plug"; import { FileMeta } from "../types"; export type FileEncoding = "string" | "arraybuffer" | "dataurl"; export type FileData = ArrayBuffer | string; export interface SpacePrimitives { // Pages fetchFileList(): Promise<FileMeta[]>; readFile( name: string, encoding: FileEncoding ): Promise<{ data: FileData; meta: FileMeta }>; getFileMeta(name: string): Promise<FileMeta>; writeFile( name: string, encoding: FileEncoding, data: FileData, selfUpdate?: boolean ): Promise<FileMeta>; deleteFile(name: string): Promise<void>; // Plugs proxySyscall(plug: Plug<any>, name: string, args: any[]): Promise<any>; invokeFunction( plug: Plug<any>, env: string, name: string, args: any[] ): Promise<any>; }