/** * Async File Manager * Handles non-blocking file operations with queuing */ import { Readable } from "node:stream"; export interface FileOperationResult { path: string; operation: "read" | "write" | "delete" | "mkdir"; success: boolean; duration: number; size?: number; error?: Error; } export declare class AsyncFileManager { private concurrency; private writeQueue; private readQueue; private logger; private metrics; constructor(concurrency?: { write: number; read: number; }); writeFile(path: string, data: string | Buffer | Readable, options?: { encoding?: BufferEncoding; mode?: number; }): Promise; readFile(path: string, encoding?: BufferEncoding): Promise; writeJSON(path: string, data: any, pretty?: boolean): Promise; readJSON(path: string): Promise; deleteFile(path: string): Promise; ensureDirectory(path: string): Promise; ensureDirectories(paths: string[]): Promise; private streamWrite; streamRead(path: string): Promise; copyFile(source: string, destination: string): Promise; moveFile(source: string, destination: string): Promise; private trackOperation; getMetrics(): { operations: { [k: string]: number; }; totalBytes: number; errors: number; writeQueueSize: any; readQueueSize: any; writeQueuePending: any; readQueuePending: any; }; waitForPendingOperations(): Promise; clearQueues(): void; } //# sourceMappingURL=async-file-manager.d.ts.map