import { AppLoggerService } from '../logger/logger.service';
interface UploadFile {
    buffer: Buffer;
    size: number;
    encoding?: string;
    mimetype: string;
    fieldname: string;
    filename?: string;
    originalname?: string;
}
export declare class FileUploadService {
    private readonly logger;
    constructor(logger: AppLoggerService);
    detectFileTypeFromBuffer(buffer: Buffer): {
        mimeType: string;
        extension: string;
    };
    getMimeTypeFromExtension(extension: string): string;
    determineFileType(file: UploadFile): {
        mimeType: string;
        extension: string;
    };
    uploadPhoto(file: UploadFile, folderName: string, desiredFileName?: string): Promise<string | null>;
    moveFiles(fileNames: string[], destinationFolder: string, sourceFolder?: string, options?: {
        createSubfolders?: boolean;
        overwrite?: boolean;
        copyInsteadOfMove?: boolean;
    }): Promise<{
        success: boolean;
        movedFiles: {
            originalName: string;
            newPath: string;
            newFileName: string;
            fullPath: string;
        }[];
        errors: string[];
    }>;
    cleanupOldFiles(folderPath: string, maxAgeHours?: number): Promise<{
        success: boolean;
        deletedFiles: string[];
        errors: string[];
    }>;
    cleanupTempFiles(maxAgeHours?: number): Promise<void>;
    getExtensionFromMimeType(mimetype: string): string;
    isValidImageFile(file: UploadFile): boolean;
    getFileInfo(file: UploadFile): {
        originalName: string;
        size: number;
        detectedMimeType: string;
        detectedExtension: string;
        providedMimeType: string;
        isValidImage: boolean;
    };
}
export {};
