/** * Image Format Handler * * Handles image file operations using sharp library. * Supports: PNG, JPEG, WebP, GIF, AVIF, TIFF * Operations: read with metadata, write with resize/convert, metadata extraction */ export interface ImageMetadata { width: number; height: number; format: string; space: string; channels: number; depth: string; density?: number; hasAlpha: boolean; size: number; } export interface ImageData { buffer: Buffer; metadata: ImageMetadata; } export interface ImageWriteOptions { width?: number; height?: number; format?: 'png' | 'jpeg' | 'webp' | 'gif' | 'avif' | 'tiff'; quality?: number; compressionLevel?: number; fit?: 'cover' | 'contain' | 'fill' | 'inside' | 'outside'; background?: string; } export declare class ImageHandler { /** * Read image file and return buffer with metadata */ read(filePath: string): Promise; /** * Write image file with optional transformations */ write(filePath: string, data: Buffer, options?: ImageWriteOptions): Promise; /** * Get metadata without loading full image into memory * Useful for large images or when only dimensions/format needed */ getMetadata(filePath: string): Promise; /** * Convert image to different format */ convert(inputPath: string, outputPath: string, format: 'png' | 'jpeg' | 'webp' | 'gif' | 'avif' | 'tiff', quality?: number): Promise; /** * Resize image maintaining aspect ratio */ resize(inputPath: string, outputPath: string, width?: number, height?: number, fit?: 'cover' | 'contain' | 'fill' | 'inside' | 'outside'): Promise; /** * Check if file is a supported image format */ isSupportedFormat(filePath: string): boolean; } export declare const imageHandler: ImageHandler; //# sourceMappingURL=image.d.ts.map