///
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;
};
}