export interface MediaProcessingResult { buffer: Buffer; mimeType: string; extension: string; width?: number; height?: number; size: number; } export interface ScanResult { isInfected: boolean; virusName?: string; } export interface IMediaService { scanFile(buffer: Buffer, filename: string): Promise; processImage( buffer: Buffer, format?: "webp" | "avif", resize?: { width?: number; height?: number }, ): Promise; processVideo( buffer: Buffer, format?: "webm" | "av1", ): Promise; }