import type { Operations, URLExtractor, URLGenerator, URLTransformer } from "../types.js"; import type { ImageFormat } from "../types.js"; type CloudinaryFormats = ImageFormat | "gif" | "bmp" | "ico" | "tiff" | "pdf" | "heif" | "heic" | "mp4" | "webm" | "ogv" | "auto" | (string & {}); /** * Image transform options for Cloudinary URL-based image processing. */ export interface CloudinaryOperations extends Operations { /** Rotates the image by a specified degree. */ a?: "auto" | number; /** Specifies the audio codec for video/audio assets. */ ac?: "aac" | "mp3" | "opus"; /** Sets the audio frequency in Hz. */ af?: number; /** Adjusts the aspect ratio of the image or video. */ ar?: string; /** Sets the background color. */ b?: string; /** Adds a border to the image with the format `width_px_solid_color`. */ bo?: string; /** Specifies the video bitrate. */ br?: number | string; /** Defines the crop mode. */ c?: "fill" | "lfill" | "fill_pad" | "crop" | "thumb" | "auto" | "scale" | "fit" | "limit" | "mfit" | "pad" | "lpad" | "mpad" | "imagga_scale" | "imagga_crop"; /** Specifies the color for overlays, text, etc. */ co?: string; /** Adjusts the color space of the image (e.g., `srgb`, `cmyk`). */ cs?: "srgb" | "cmyk" | "no_cmyk"; /** Specifies the default image if the original is missing. */ d?: string; /** Sets the delay between frames in animated images. */ dl?: number; /** Controls the image density (DPI). */ dn?: number; /** Adjusts for device pixel ratio. */ dpr?: number; /** Defines the video duration in seconds. */ du?: number; /** Applies an effect. */ e?: "grayscale" | "sepia" | "blur" | "shadow" | "red" | "blue" | "green" | "negate" | "oil_paint" | "cartoonify" | "vectorize" | "vignette" | "auto_color" | "auto_contrast" | "auto_brightness" | "hue" | "saturation" | "desaturation" | "fade" | "pixelate" | "unsharp_mask" | (string & {}); /** Sets the end offset for videos. */ eo?: number; /** Specifies the output format. */ f?: CloudinaryFormats; /** Adds transformation flags. */ fl?: "progressive" | "lossy" | "attachment" | "streaming_attachment" | "keep_iptc" | "clip" | "region_relative" | "relative" | "no_overflow" | "layer_apply" | "splice" | "force_strip" | (string & {}); /** Adds custom functionality, such as external image overlays. */ fn?: string; /** Sets the frames per second for video. */ fps?: string | number; /** Adjusts the gravity for cropping */ g?: "auto" | "center" | "north" | "south" | "east" | "west" | "north_east" | "north_west" | "south_east" | "south_west" | "face" | "faces" | "body" | "liquid" | (string & {}); /** Defines the height of the image/video. */ h?: number; /** Allows for conditional transformations. */ if?: string; /** Sets the keyframe interval for videos. */ ki?: number; /** Adds an overlay image or text layer. */ l?: string; /** Controls the opacity of overlays. */ o?: number; /** Prefixes the public ID of the asset. */ p?: string; /** Selects a specific page/layer in multi-page assets (e.g., PDFs). */ pg?: number; /** Sets the quality level of the asset (1-100 or `auto`). */ q?: number | "auto"; /** Rounds the corners of the image/video. */ r?: number | "max"; /** Sets the start offset for video. */ so?: number; /** Specifies the streaming profile for video. */ sp?: string; /** Applies named transformations. */ t?: string; /** Adds an underlay image or text layer. */ u?: string; /** Specifies the video codec. */ vc?: string; /** Controls video frame sampling (used for animated images). */ vs?: number; /** Sets the width of the image/video. */ w?: number; /** Sets the X-coordinate for overlays or cropping. */ x?: number; /** Sets the Y-coordinate for overlays or cropping. */ y?: number; /** Zooms into the image. */ z?: number; /** Defines custom variables for transformation. */ $?: Record; } export interface CloudinaryOptions { cloudName?: string; privateCdn?: boolean; domain?: string; } export declare const generate: URLGenerator<"cloudinary">; export declare const extract: URLExtractor<"cloudinary">; export declare const transform: URLTransformer<"cloudinary">; export {}; //# sourceMappingURL=cloudinary.d.ts.map