import { FileSystemAdapter } from '../../infrastructure/adapters/filesystem.adapter'; /** * File Naming Service * Handles file naming logic including deduplication and extension detection */ export declare class FileNamingService { private fsAdapter; private readonly MAX_ATTEMPTS; private readonly CONTENT_TYPE_MAP; constructor(fsAdapter: FileSystemAdapter); /** * Ensures the filename has an extension * Priority: existing extension > content-type header > default .jpg * @param filename - Original filename * @param contentType - HTTP Content-Type header (optional) * @returns Filename with extension */ ensureExtension(filename: string, contentType: string | null): string; /** * Ensures the filename is unique in the target directory * Appends _1, _2, _3, etc. if file already exists * @param targetDir - Target directory path * @param filename - Desired filename * @returns Unique filename */ ensureUniqueFilename(targetDir: string, filename: string): Promise; /** * Extracts file extension from Content-Type header * @param contentType - HTTP Content-Type header * @returns File extension without dot, or null if not found */ private getExtensionFromContentType; } //# sourceMappingURL=file-naming.service.d.ts.map