///
import { StorageEngine } from 'multer';
import sharp from 'sharp';
export declare enum FormatEnum {
heic = "heic",
heif = "heif",
avif = "avif",
jpeg = "jpeg",
jpg = "jpg",
png = "png",
raw = "raw",
tiff = "tiff",
tif = "tif",
webp = "webp",
gif = "gif",
jp2 = "jp2",
jpx = "jpx",
j2k = "j2k",
j2c = "j2c"
}
export declare enum QueryParamsEnum {
height = "height",
width = "width",
format = "format"
}
export interface QueryParams {
height?: number;
width?: number;
format?: keyof sharp.FormatEnum;
}
export interface S3StorageOptions {
region: string;
bucketName: string;
accessKeyId: string;
secretAccessKey: string;
}
export interface DiskStorageOptions {
dest: string;
}
export interface Storage {
save: (id: string, image: Buffer) => Promise;
fetch: (id: string) => Promise;
exists: (id: string) => Promise;
getMulterStorage?: () => StorageEngine;
}