import { ImageFormat, Operations, URLExtractor, URLGenerator, type URLTransformer } from "../types.js"; type Auto = "true" | "format" | "compress" | "enhance" | "redeye"; export type ImixFormats = ImageFormat | "gif" | "jp2" | "json" | "jxr" | "pjpg" | "mp4" | "png8" | "png32" | "webm" | "blurhash"; export interface ImgixOperations extends Operations { w?: number; h?: number; /** * Aspect ratio, defined as width/height * @example "16:9" */ ar?: string; /** * Fit mode to use when resizing. */ fit?: "clamp" | "clip" | "crop" | "facearea" | "fill" | "fillmax" | "max" | "min" | "scale"; /** * Crop mode to use when resizing. * Can be a combination of "top", "bottom", "left", "right", "faces", etc. * @example "faces,top" */ crop?: string; /** * Device pixel ratio (useful for responsive images). * @example 2 */ dpr?: number; /** * Quality level (1-100) for lossy image formats. * @example 75 */ q?: number; /** * Output format for the image. */ fm?: ImixFormats; /** * Automatic optimizations to apply. * Can be a combination of "format", "compress", "enhance", "redeye", "true". * @example "format,compress" */ auto?: Auto | `${Auto},${Auto}` | `${Auto},${Auto},${Auto}` | `${Auto},${Auto},${Auto},${Auto}` | `${Auto},${Auto},${Auto},${Auto},${Auto}`; /** * Contrast adjustment (-100 to 100). * @example 50 */ con?: number; /** * Exposure adjustment (-100 to 100). * @example 20 */ exp?: number; /** * Saturation adjustment (-100 to 100). * @example -20 */ sat?: number; /** * Blur radius to apply. * @example 5 */ blur?: number; /** * Sharpening amount to apply. * @example 10 */ sharp?: number; /** * Sepia tone effect (0-100). * @example 80 */ sepia?: number; /** * Background color in RGB/hex. * @example "ff0000" */ bg?: string; /** * Border size and color (e.g., 10px solid red). * @example "10,ff0000" */ border?: string; /** * Text overlay string. * @example "Hello, World!" */ txt?: string; /** * Font to use for text overlay. * @example "Arial" */ txtFont?: string; /** * Color of the text overlay. * @example "ffffff" */ txtColor?: string; /** * Font size for text overlay. * @example 48 */ txtSize?: number; /** * Alignment for the text overlay. * One of "left", "center", "right". * @example "center" */ txtAlign?: "left" | "center" | "right"; /** * Watermark image URL. * @example "https://example.com/watermark.png" */ mark?: string; /** * Watermark transparency level (0-100). * @example 50 */ markAlpha?: number; /** * Rotation angle (degrees). * @example 90 */ rot?: number; /** * Flip mode. * One of "h" for horizontal, "v" for vertical. * @example "h" */ flip?: "h" | "v"; /** * Gaussian blur radius to apply. * @example 5 */ gaussblur?: number; /** * Noise reduction amount to apply. * @example 10 */ noise?: number; /** * Strip image metadata (EXIF, etc.) * @example true */ strip?: boolean; /** * For all options, see: https://unpkg.com/browse/typescript-imgix-url-params/dist/index.d.ts */ [key: string]: string | number | boolean | undefined; } export declare const extract: URLExtractor<"imgix">; export declare const generate: URLGenerator<"imgix">; export declare const transform: URLTransformer<"imgix">; export {}; //# sourceMappingURL=imgix.d.ts.map