import { ReadStream } from 'fs'; export interface ImmichReadStream { stream: ReadStream; type: string; length: number; } export interface DiskUsage { available: number; free: number; total: number; } export const IStorageRepository = 'IStorageRepository'; export interface IStorageRepository { createReadStream(filepath: string, mimeType: string): Promise; unlink(filepath: string): Promise; unlinkDir(folder: string, options?: { recursive?: boolean; force?: boolean }): Promise; removeEmptyDirs(folder: string): Promise; moveFile(source: string, target: string): Promise; checkFileExists(filepath: string): Promise; mkdirSync(filepath: string): void; checkDiskUsage(folder: string): Promise; }