/// import { MobileProject } from './project'; export interface VFSDiff { file?: VFSFile; old?: string; new?: string; patch?: string; } export declare class VFSStorable { } /** * Reference to a file and its data (which can be of any type) in the VFS */ export declare class VFSRef { private filename; private data; private commitFn; private diffFn?; buffer: Buffer | null; modified: boolean; constructor(filename: string, data: T | null, commitFn: (file: VFSFile) => Promise, diffFn?: ((file: VFSFile) => Promise) | undefined); getFilename(): string; getData(): T | null; isModified(): boolean; setData(data: T): void; commit(): Promise; diff(): Promise; } export declare type VFSFile = VFSRef; /** * Simple virtual filesystem to share files across operations and * keep track of modifications over time */ export declare class VFS { private openFiles; constructor(); open(filename: string, data: T, commitFn: (file: VFSFile) => Promise, diffFn?: (file: VFSFile) => Promise): VFSRef; get(filename: string): VFSRef | null; isOpen(filename: string): boolean; all(): { [key: string]: VFSFile; }; commitAll(project: MobileProject): Promise; diffAll(): Promise; set(filename: string, data: string | VFSStorable): void; close(ref: VFSFile): void; } //# sourceMappingURL=vfs.d.ts.map