import type { Buffer } from '../utils/buffer' export interface DownloadToFileOptions { verifyHash?: { algorithm: 'sha256'; hash: Buffer } } export interface FileSystem { readonly dataPath: string readonly cachePath: string readonly tempPath: string exists(path: string): Promise createDirectory(path: string): Promise copyFile(sourcePath: string, destinationPath: string): Promise write(path: string, data: string): Promise read(path: string): Promise delete(path: string): Promise downloadToFile(url: string, path: string, options?: DownloadToFileOptions): Promise }