import type { ImageFormat } from "./index.js"; export interface PipelineOptions { /** Absolute path to the public directory (source images live here). */ publicDir: string; /** Absolute path to the output directory (variants are written here). */ outDir: string; /** Formats to generate. Defaults to ["webp", "avif"]. */ formats?: ImageFormat[]; /** Quality (1-100). Defaults to 80. */ quality?: number; } export interface ProcessedImage { /** Original source path (e.g. "/images/hero.jpg"). */ src: string; /** Generated variant paths relative to outDir. */ variants: { path: string; width: number; format: ImageFormat; }[]; } /** * Processes a batch of images: for each image, generates variants at the * specified widths and formats using sharp. Returns the list of generated * files. * * If sharp is not installed, returns an empty array and logs a warning once. */ export declare function processImages(images: { src: string; widths: number[]; formats: ImageFormat[]; }[], options: PipelineOptions): Promise; /** * Checks whether sharp is available without actually loading it. */ export declare function isSharpAvailable(): Promise;