/// declare module '@ioc:Adonis/Addons/ResponsiveAttachment' { type ImageBreakpoints = { thumbnail: ImageAttributes; large: ImageAttributes; medium: ImageAttributes; small: ImageAttributes; } & Record; type ImageInfo = { name?: string; fileName?: string; extname?: string; mimeType?: string; size?: number; path?: string; buffer?: Buffer; width?: number; height?: number; blurhash?: string; /** * The image format used by sharp to force conversion * to different file types/formats */ format?: AttachmentOptions['forceFormat']; breakpoints?: Record; url?: string; }; type ImageData = { data: { fileInfo: ImageInfo | ImageInfo[]; }; files: AttachedImage; }; type AttachedImage = { filePath?: string; name?: string; type?: string; size: number; }; type EnhancedImageInfo = { absoluteFilePath: string; type: string; size: number; }; type OptimizedOutput = { buffer?: Buffer; info?: { width: number; height: number; size: number; format: AttachmentOptions['forceFormat']; mimeType: string; extname: string; }; }; type ImageDimensions = { width?: number; height?: number; }; type BreakpointFormat = ({ key: keyof ImageBreakpoints; } & { file: ImageInfo; }) | null; type AttachmentAttributes = Partial; type FileDimensions = { width?: number; height?: number; }; type UrlRecords = { url?: string; breakpoints?: Record; }; type NameRecords = { name?: string; breakpoints?: Record; }; }