import { Logger } from '../../types'; import { LocalDirectoryConfig, FileWriteResult } from './types'; import { DirectoryManager } from './directory-manager'; export interface FileWriteOptions { fileName: string; content: Buffer | string; documentType?: string; exportFormat?: 'docx' | 'html' | 'xlsx' | 'markdown'; overwrite?: boolean; updatedDate?: number; datePrefixConfig?: { enabled: boolean; format: string; }; } export interface FormatFileWriteOptions extends FileWriteOptions { format: string; quipFolderPath?: string; } export interface FileWriteProgress { fileName: string; bytesWritten: number; totalBytes: number; percentage: number; } export declare class FileWriter { private readonly directoryManager; private readonly config; private readonly logger; constructor(directoryManager: DirectoryManager, config: LocalDirectoryConfig, logger: Logger); writeDocument(targetDirectory: string, options: FileWriteOptions, onProgress?: (progress: FileWriteProgress) => void): Promise; writeDocuments(documents: Array<{ targetDirectory: string; options: FileWriteOptions; }>, onProgress?: (current: number, total: number, currentFile: string) => void, onFileProgress?: (progress: FileWriteProgress) => void): Promise; private writeFileWithProgress; private verifyFileIntegrity; writeFormatDocument(options: FormatFileWriteOptions, onProgress?: (progress: FileWriteProgress) => void): Promise; createSafeFileName(documentTitle: string, documentType: string, exportFormat: 'docx' | 'html' | 'xlsx', updatedDate?: number, datePrefixConfig?: { enabled: boolean; format: string; }): string; createSafeFileNameForFormat(documentTitle: string, format: string, documentType?: string, updatedDate?: number, datePrefixConfig?: { enabled: boolean; format: string; }): string; getFileStats(filePath: string): Promise<{ exists: boolean; size?: number; created?: Date; modified?: Date; error?: string; }>; cleanupFile(filePath: string): Promise; getAvailableSpace(directoryPath: string): Promise<{ available: number; total: number; used: number; } | null>; private sleep; } //# sourceMappingURL=file-writer.d.ts.map