import { ResizeOptions, // RGBA, Region, ExtendOptions, ThresholdOptions, AvailableFormatInfo, OutputOptions, JpegOptions, PngOptions, WriteableMetadata, Kernel, Sharp, OverlayOptions, Color, FlattenOptions, Raw, SharpOptions as SharpOptionsCore } from 'sharp' import { S3 } from 'aws-sdk' export declare interface Size { width?: number height?: number options?: ResizeOptions } export declare interface Sharpen { sigma?: number flat?: number jagged?: number } export declare interface Bool { operand: string | Buffer operator: string options?: { raw: Raw } } export declare interface JoinChannel { images: string | Buffer | ArrayLike options?: SharpOptionsCore } export declare interface Modulate { brightness?: number saturation?: number hue?: number } export declare interface Threshold { threshold?: number options?: ThresholdOptions } export declare interface Format { type: string | AvailableFormatInfo options?: OutputOptions | JpegOptions | PngOptions } export declare interface ExtendSize extends Size { suffix: string Body?: NodeJS.ReadableStream & Sharp } export declare type SharpOption = T export declare type ResizeOption = | SharpOption | Array> export declare type MaybeA = T | undefined | null export declare interface SharpOptions { resize?: ResizeOption // MARK: deprecated since sharp v0.22.0 // crop?: SharpOption // background?: SharpOption // embed?: boolean // max?: boolean // min?: boolean // withoutEnlargement?: boolean // ignoreAspectRatio?: boolean modulate?: SharpOption composite?: SharpOption extract?: SharpOption trim?: SharpOption flatten?: SharpOption extend?: SharpOption negate?: SharpOption rotate?: SharpOption flip?: SharpOption flop?: SharpOption blur?: SharpOption sharpen?: SharpOption gamma?: SharpOption grayscale?: SharpOption greyscale?: SharpOption normalize?: SharpOption normalise?: SharpOption withMetadata?: SharpOption convolve?: SharpOption threshold?: SharpOption toColourspace?: SharpOption toColorspace?: SharpOption toFormat?: SharpOption linear?: SharpOption, MaybeA]> median?: SharpOption tint?: SharpOption removeAlpha?: SharpOption bandbool?: SharpOption boolean?: SharpOption joinChannel?: SharpOption extractChannel?: SharpOption ensureAlpha?: SharpOption } export declare interface CloudStorageOptions extends Partial { Key?: any multiple?: boolean s3: S3 } export declare type S3StorageOptions = CloudStorageOptions & SharpOptions