Files

34 lines
1.4 KiB
TypeScript

import type { AvifOptions, JpegOptions, PngOptions, ResizeOptions, SharpOptions, WebpOptions } from 'sharp';
import { type BaseServiceTransform, type LocalImageService } from './service.js';
export interface SharpImageServiceConfig {
/**
* The `limitInputPixels` option passed to Sharp. See https://sharp.pixelplumbing.com/api-constructor for more information
*/
limitInputPixels?: SharpOptions['limitInputPixels'];
/**
* The `kernel` option is passed to resize calls. See https://sharp.pixelplumbing.com/api-resize/ for more information
*/
kernel?: ResizeOptions['kernel'];
/**
* The default encoder options passed to `sharp().jpeg()`.
*/
jpeg?: JpegOptions;
/**
* The default encoder options passed to `sharp().png()`.
*/
png?: PngOptions;
/**
* The default encoder options passed to `sharp().webp()`.
*/
webp?: WebpOptions;
/**
* The default encoder options passed to `sharp().avif()`.
*/
avif?: AvifOptions;
}
export declare function resolveSharpEncoderOptions(transform: Pick<BaseServiceTransform, 'format' | 'quality'>, inputFormat: string | undefined, serviceConfig?: SharpImageServiceConfig): JpegOptions | PngOptions | WebpOptions | AvifOptions | {
quality?: number;
} | undefined;
declare const sharpService: LocalImageService<SharpImageServiceConfig>;
export default sharpService;