/// import type { Readable } from 'stream'; import type { AvifOptions, JpegOptions, PngOptions, WebpOptions } from 'sharp'; import { ImageFormat } from './ImageFormat'; export declare type Logger = { trace: (...data: any[]) => void; debug: (...data: any[]) => void; info: (...data: any[]) => void; warn: (...data: any[]) => void; error: (...data: any[]) => void; }; export declare type CommonConf = { assetsBaseUrl: string; createFileName?: CreateFileName; targetFormats?: (format: ImageFormat) => ImageFormat[]; fallbackFormat?: (format: ImageFormat) => ImageFormat; logger?: Logger; }; export declare type FetchImage = (src: string) => Readable; export declare type ServerSideConf = CommonConf & { serverSideProcessor: { originalDir: string; processedDir: string; fetch: FetchImage; options?: { [ImageFormat.JPEG]?: JpegOptions; [ImageFormat.PNG]?: PngOptions; [ImageFormat.AVIF]?: AvifOptions; [ImageFormat.WEBP]?: WebpOptions; [ImageFormat.SVG]?: undefined; [ImageFormat.GIF]?: undefined; [ImageFormat.UNKNOWN]?: undefined; }; }; }; export declare type PictureConf = ServerSideConf | CommonConf; export declare type ValueReference = { filePath: string; name?: string; }; export declare type CreateFileName = (args: { src: string; format: ImageFormat; aspectRatio?: number; focalPoint?: [number, number]; width?: number; }) => string; export declare function numberToAspectRatioString(r: number): string; export declare const defaultCreateFileName: CreateFileName; export declare function isServersideConf(conf: PictureConf): conf is ServerSideConf;