import type { ResizeFit } from 'ts-images'; export declare function transform(pipeline: (image: NativeImagePipeline) => NativeImagePipeline | Promise): (input: Uint8Array | Buffer | ArrayBuffer) => Promise; export declare function avatar(size?: number, quality?: number): (input: Uint8Array | Buffer | ArrayBuffer) => Promise; export declare function resize(width: number, height: number, fit?: ResizeFit): (input: Uint8Array | Buffer | ArrayBuffer) => Promise; export declare function stripMetadata(format?: NativeImageFormat): (input: Uint8Array | Buffer | ArrayBuffer) => Promise; export declare interface NativeEncodeOptions { quality?: number, progressive?: boolean, lossless?: boolean, effort?: number } export declare interface NativeResizeOptions { fit?: ResizeFit, withoutEnlargement?: boolean } export declare interface NativeImagePipeline { resize: (width?: number, height?: number, options?: NativeResizeOptions) => NativeImagePipeline jpeg: (options?: NativeEncodeOptions) => NativeImagePipeline png: (options?: NativeEncodeOptions) => NativeImagePipeline webp: (options?: NativeEncodeOptions) => NativeImagePipeline avif: (options?: NativeEncodeOptions) => NativeImagePipeline rotate: (degrees?: number) => NativeImagePipeline blur: (sigma?: number) => NativeImagePipeline withMetadata: () => NativeImagePipeline toBuffer: () => Promise } export type NativeImageFormat = 'jpeg' | 'png' | 'webp' | 'avif'; declare class Pipeline implements NativeImagePipeline { constructor(input: Uint8Array); resize(width?: number, height?: number, options?: NativeResizeOptions): NativeImagePipeline; jpeg(options?: NativeEncodeOptions): NativeImagePipeline; png(options?: NativeEncodeOptions): NativeImagePipeline; webp(options?: NativeEncodeOptions): NativeImagePipeline; avif(options?: NativeEncodeOptions): NativeImagePipeline; rotate(degrees?: number): NativeImagePipeline; blur(sigma?: number): NativeImagePipeline; withMetadata(): NativeImagePipeline; toBuffer(): Promise; }