import adjust from './transformers/adjust.js';
import backgroundAlpha from './transformers/background-alpha.js';
import background from './transformers/background.js';
import blurDetections from './transformers/blur-detections.js';
import blur from './transformers/blur.js';
import brightness from './transformers/brightness.js';
import cacheBuster from './transformers/cache-buster.js';
import contrast from './transformers/contrast.js';
import crop from './transformers/crop.js';
import disableAnimation from './transformers/disable-animation.js';
import dpi from './transformers/dpi.js';
import dpr from './transformers/dpr.js';
import drawDetections from './transformers/draw-detections.js';
import duotone from './transformers/duotone.js';
import expires from './transformers/expires.js';
import extendAspectRatio from './transformers/extend-aspect-ratio.js';
import extend from './transformers/extend.js';
import fallbackImageUrl from './transformers/fallback-image-url.js';
import fileName from './transformers/filename.js';
import formatQuality from './transformers/format-quality.js';
import format from './transformers/format.js';
import gifOptions from './transformers/gif-options.js';
import gradient from './transformers/gradient.js';
import gravity from './transformers/gravity.js';
import jpegOptions from './transformers/jpeg-options.js';
import maxBytes from './transformers/max-bytes.js';
import minHeight from './transformers/min-height.js';
import minWidth from './transformers/min-width.js';
import monochrome from './transformers/monochrome.js';
import pad from './transformers/pad.js';
import page from './transformers/page.js';
import pixelate from './transformers/pixelate.js';
import pngOptions from './transformers/png-options.js';
import preset from './transformers/preset.js';
import quality from './transformers/quality.js';
import raw from './transformers/raw.js';
import resize from './transformers/resize.js';
import resizingAlgorithm from './transformers/resizing-algorithm.js';
import rotate from './transformers/rotate.js';
import saturation from './transformers/saturation.js';
import sharpen from './transformers/sharpen.js';
import skipProcessing from './transformers/skip-processing.js';
import style from './transformers/style.js';
import trim from './transformers/trim.js';
import unsharpen from './transformers/unsharpen.js';
import videoThumbnailSecond from './transformers/video-thumbnail-second.js';
import videoThumbnailTile from './transformers/video-thumbnail-tile.js';
import watermarkShadow from './transformers/watermark-shadow.js';
import watermarkSize from './transformers/watermark-size.js';
import watermarkText from './transformers/watermark-text.js';
import watermarkUrl from './transformers/watermark-url.js';
import watermark from './transformers/watermark.js';
import zoom from './transformers/zoom.js';
import hashsum from './transformers/hashsum.js';
import videoThumbnailKeyframes from './transformers/video-thumbnail-keyframes.js';
/**
 * The build options
 */
export type BuildOptions = {
    /**
     * The path to the target image, e.g. `https://example.com/foo.png`
     */
    path: string;
    /**
     * The base URL of the imgproxy instance, e.g. https://my-imgproxy.test
     */
    baseUrl?: string;
    /**
     * Whether to append the path in plain.
     *
     * Defaults to false. If false, encodes the path to a base64url
     */
    plain?: boolean;
    /**
     * Whether to append the extension (or filetype) to the end of the url.
     *
     * Defaults to false. If true adds the extension.
     */
    addExtension?: boolean;
    /**
     * The signature to apply
     */
    signature?: {
        /**
         * The hex-encoded key of the signature
         */
        key: string;
        /**
         * The hex encoded salt of the signature
         */
        salt: string;
        /**
         * The number of bytes to use for the signature before encoding to Base64
         *
         * Defaults to 32
         */
        size?: number;
    };
};
declare class ParamBuilder {
    /**
     * The currently applied imgproxy modifiers
     */
    readonly modifiers: Map<keyof ParamBuilder, string>;
    constructor(initialModifiers?: Map<keyof ParamBuilder, string>);
    /**
     * Creates a new param builder instance with a copy of the
     * current modifiers
     *
     * @returns A copy of this param builder
     */
    clone(this: this): ParamBuilder;
    /**
     * Removes the specified modifier from the currently applied
     * modifiers
     *
     * @param modifier  The modifier
     */
    unset(this: this, modifier: Omit<keyof ParamBuilder, 'build' | 'unset' | 'clone' | 'modifiers'>): this;
    /**
     * Builds the imgproxy URL
     *
     * If a path is supplied, the full URL path will be returned,
     * else only the stringified modifiers will be returned.
     *
     * If a base URL is supplied, the full imgproxy URL will be returned.
     *
     * @param options  The build options
     * @returns        The imgproxy URL
     */
    build(options?: BuildOptions): string;
    /**
     * Get the extension for the file. Checks the specified format and the target image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/5ac79477dfa76ed3c014a1472e31e26a2d2257a0/docs/generating_the_url.md#source-url for the imgproxy documentation
     *
     * @param path  The path to the target image, e.g. `https://example.com/foo.png`
     * @returns     An extension if found, or an empty string
     */
    private getExtension;
    /**
     * Defines the brightness, contrast, and saturation.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#adjust-idadjust for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().adjust({
     *   brightness: 100,  // optional
     *   contrast: 0.8,    // optional
     *   saturation: 0.9   // optional
     * });
     * ```
     */
    adjust(this: this, ...options: Parameters<typeof adjust>): this;
    /**
     * Automatically rotates the image based on the EXIF orientation parameter.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#auto-rotate for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().autoRotate();
     * ```
     */
    autoRotate(this: this): this;
    /**
     * Fills the image background with the specified color.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#background for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().background('ff0000');
     *
     * pb().background({
     *   r: 255,
     *   g: 0,
     *   b: 0
     * });
     * ```
     */
    background(this: this, ...options: Parameters<typeof background>): this;
    /**
     * Adds alpha channel to background.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#background-alpha-idbackground-alpha for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().backgroundAlpha(0.4);
     * ```
     */
    backgroundAlpha(this: this, ...options: Parameters<typeof backgroundAlpha>): this;
    /**
     * Applies a gaussian blur filter to the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#blur for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().blur(10);
     * ```
     */
    blur(this: this, ...options: Parameters<typeof blur>): this;
    /**
     * Detects objects of the provided classes and blurs them.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#blur-detections-idblur-detections for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().blurDetections({
     *   sigma: 10,
     *   classNames: ['face']
     * });
     * ```
     */
    blurDetections(this: this, ...options: Parameters<typeof blurDetections>): this;
    /**
     * Adjusts the brightness of an image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#brightness-idbrightness for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().brightness(-100);
     * ```
     */
    brightness(this: this, ...options: Parameters<typeof brightness>): this;
    /**
     * Adds a cache buster to the imgproxy params.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#cache-buster for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().cacheBuster("abcdef123");
     * ```
     */
    cacheBuster(this: this, ...options: Parameters<typeof cacheBuster>): this;
    /**
     * Adjust contrast of the resulting image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#contrast-idcontrast for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().contrast(0.3);
     * ```
     */
    contrast(this: this, ...options: Parameters<typeof contrast>): this;
    /**
     * Crops the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#crop for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().crop({
     *   width: 100,                  // optional
     *   height: 50,                  // optional
     *   gravity: {                   // optional
     *     type: GravityType.CENTER,  // required
     *     offset: {                  // optional
     *        x: 20,                  // required
     *        y: 20                   // required
     *     }
     *   }
     * })
     * ```
     */
    crop(this: this, ...options: Parameters<typeof crop>): this;
    /**
     * Use a single frame of animated images.
     *
     * See https://github.com/imgproxy/imgproxy/blob/cfa4b596d1f31656f9116cc16f2a4ff7d15c2837/docs/generating_the_url.md#disable-animation-iddisable-animation for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().disableAnimation();
     * ```
     */
    disableAnimation(this: this, ...options: Parameters<typeof disableAnimation>): this;
    /**
     * When set, imgproxy will replace the image's DPI metadata with the provided value.
     *
     * See https://github.com/imgproxy/imgproxy/blob/8629c5eca1e422908363f471513bfc887d778a85/docs/generating_the_url.md#dpi-iddpi for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().dpi(300);
     * ```
     */
    dpi(this: this, ...options: Parameters<typeof dpi>): this;
    /**
     * Multiplies the dimensions according to the specified factor.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#dpr for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().dpr(18);
     * ```
     */
    dpr(this: this, ...options: Parameters<typeof dpr>): this;
    /**
     * Detects objects of the provided classes and draws their
     * bounding boxes.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#draw-detections-iddraw-detections for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().drawDetections({
     *   classNames: ["face"]
     * });
     * ```
     */
    drawDetections(this: this, ...options: Parameters<typeof drawDetections>): this;
    /**
     * Converts the image to duotone with specified intensity and colors.
     *
     * See https://github.com/imgproxy/imgproxy-docs/blob/7d15484aea6a1fae5f1dfd1806b5551a4774658d/docs/usage/processing.mdx?plain=1#L429 for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().duotone({
     *   intensity: 1.0,   // required
     *   color1: 'ff0000', // required
     *   color2: '00ff00'  // required
     * });
     * ```
     */
    duotone(this: this, ...options: Parameters<typeof duotone>): this;
    /**
     * If the source image has an embedded thumbnail, imgproxy will use the
     * embedded thumbnail instead of the main image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#enforce-thumbnail for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().enforceThumbnail();
     * ```
     */
    enforceThumbnail(this: this): this;
    /**
     * Enlarges the image if it is smaller than the given size.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#enlarge for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().enlarge();
     * ```
     */
    enlarge(this: this): this;
    /**
     * Returns a 404 if the expiration date is reached.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#expires for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().expires(new Date());
     *
     * pb().expires(1661431326);
     * ```
     */
    expires(this: this, ...options: Parameters<typeof expires>): this;
    /**
     * Extends the image if it is smaller than the given size.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#extend for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().extend();
     *
     * pb().extend({
     *   gravity: {
     *     type: GravityType.NORTH  // required
     *     offset: {                // optional
     *       x: 10;                 // required
     *       y: 20;                 // required
     *     }
     *   }
     * });
     * ```
     */
    extend(this: this, ...options: Parameters<typeof extend>): this;
    /**
     * Extends the image to the requested aspect ratio.
     *
     * See https://github.com/imgproxy/imgproxy/blob/1a9768a2c682e88820064aa3d9a05ea234ff3cc4/docs/generating_the_url.md#extend-aspect-ratio for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().extendAspectRatio();
     *
     * pb().extendAspectRatio({
     *   gravity: {
     *     type: GravityType.NORTH  // required
     *     offset: {                // optional
     *       x: 10;                 // required
     *       y: 20;                 // required
     *     }
     *   }
     * });
     * ```
     */
    extendAspectRatio(this: this, ...options: Parameters<typeof extendAspectRatio>): this;
    /**
     * Sets a custom fallback image by specifying its URL.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#fallback-image-url-idfallback-image-url for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().fallbackImageUrl('https://example.com');
     * ```
     */
    fallbackImageUrl(this: this, ...options: Parameters<typeof fallbackImageUrl>): this;
    /**
     * Sets the filename for the Content-Disposition header.
     *
     * See https://github.com/imgproxy/imgproxy/blob/41b9ebe9277ef3e664e0a842fbc0e912b2640969/docs/generating_the_url.md#filename for the imgproxy documentation
     *
     * @example
     * ```typescript
     * // Not encoded
     * pb().fileName('filename.png');
     *
     * // Encoded
     * pb().fileName('ZmlsZW5hbWUucG5n', true);
     * ```
     */
    fileName(this: this, ...options: Parameters<typeof fileName>): this;
    /**
     * Specifies the resulting image format.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#format for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().format('png');
     * ```
     */
    format(this: this, ...options: Parameters<typeof format>): this;
    /**
     * Sets the desired quality for each format.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#format-quality for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().formatQuality({
     *   jpeg: 100,
     *   png: 50,
     *   // ...
     * });
     * ```
     */
    formatQuality(this: this, ...options: Parameters<typeof formatQuality>): this;
    /**
     * Allows redefining GIF saving options.
     *
     * @deprecated     Automatically applied since version 3.0.0
     * @example
     * ```typescript
     * pb().gifOptions({
     *   optimizeFrames: true,     // optional
     *   optimizeTransparency: 50  // optional
     * });
     * ```
     */
    gifOptions(this: this, ...options: Parameters<typeof gifOptions>): this;
    /**
     * Places a gradient on the processed image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/cfa4b596d1f31656f9116cc16f2a4ff7d15c2837/docs/generating_the_url.md#gradient-idgradient for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().gradient({
     *   opacity: 1,       // required
     *   color: 'ababab',  // optional
     *   direction: 'up',  // optional
     *   start: 0.0,       // optional
     *   stop: 0.7         // optional
     * });
     * ```
     */
    gradient(this: this, ...options: Parameters<typeof gradient>): this;
    /**
     * Sets the gravity.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#gravity for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().gravity({
     *   type: GravityType.NORTH  // required
     *   offset: {                // optional
     *     x: 10,                 // required
     *     y: 20                  // required
     *   }
     * });
     * ```
     */
    gravity(this: this, ...options: Parameters<typeof gravity>): this;
    /**
     * When `hashsum_type` is not `none`, imgproxy will calculate the hashsum of the source image
     * and compare it with the provided hashsum.
     *
     * See https://github.com/imgproxy/imgproxy-docs/blob/f9d7908d253ec2b31425b988a48f8c28cb271c58/docs/usage/processing.mdx#L916 for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().hashsum({
     *   hashsum: 'ABCDEF',       // required
     *   type: HashsumType.NONE   // optional
     * });
     * ```
     */
    hashsum(this: this, ...options: Parameters<typeof hashsum>): this;
    /**
     * Allows redefining JPEG saving options.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#jpeg-options-idjpeg-options for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().jpegOptions({
     *   progressive: boolean,         // optional
     *   noSubsample: boolean,         // optional
     *   trellisQuant: boolean,        // optional
     *   overshootDeringing: boolean,  // optional
     *   optimizeScans: boolean,       // optional
     *   quantizationTable: 7          // optional
     * });
     * ```
     */
    jpegOptions(this: this, ...options: Parameters<typeof jpegOptions>): this;
    /**
     * Preserve the copyright info while stripping metadata.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#keep-copyright for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().keepCopyright();
     * ```
     */
    keepCopyright(this: this): this;
    /**
     * Limits the file size to the specified number of bytes.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#max-bytes for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().maxBytes(10);
     * ```
     */
    maxBytes(this: this, ...options: Parameters<typeof maxBytes>): this;
    /**
     * Defines the minimum height of the resulting image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#min-height for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().minHeight(100);
     * ```
     */
    minHeight(this: this, ...options: Parameters<typeof minHeight>): this;
    /**
     * Defines the minimum width of the resulting image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#min-width for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().minWidth(100);
     * ```
     */
    minWidth(this: this, ...options: Parameters<typeof minWidth>): this;
    /**
     * Converts the image to monochrome.
     *
     * See https://github.com/imgproxy/imgproxy-docs/blob/7d15484aea6a1fae5f1dfd1806b5551a4774658d/docs/usage/processing.mdx?plain=1#L415 for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().monochrome({
     *   intensity: 0.3,  // required
     *   color: 'ff0000'  // optional
     * });
     * ```
     */
    monochrome(this: this, ...options: Parameters<typeof monochrome>): this;
    /**
     * Applies the specified padding to the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#padding for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().pad({
     *   top: 100,    // optional (Note: sets all other sides if not set explicitly)
     *   right: 100,  // optional
     *   bottom: 10,  // optional
     *   left: 10     // optional
     * });
     * ```
     */
    pad(this: this, ...options: Parameters<typeof pad>): this;
    /**
     * When source image supports pagination (PDF, TIFF) or animation (GIF, WebP), this option allows
     * specifying the page to use.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#page-idpage for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().page(10);
     * ```
     */
    page(this: this, ...options: Parameters<typeof page>): this;
    /**
     * Apply the pixelate filter to the resulting image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#pixelate for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().pixelate(5);
     * ```
     */
    pixelate(this: this, ...options: Parameters<typeof pixelate>): this;
    /**
     * Allows redefining PNG saving options.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#png-options-idpng-options for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().pngOptions({
     *   interlaced: true,         // optional
     *   quantize: false,          // optional
     *   quantization_colors: 10   // optional
     * });
     * ```
     */
    pngOptions(this: this, ...options: Parameters<typeof pngOptions>): this;
    /**
     * Sets one or many presets to be used by the imgproxy.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#preset for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().preset('mypreset');
     *
     * pb().preset(['preset1', 'preset2']);
     * ```
     */
    preset(this: this, ...options: Parameters<typeof preset>): this;
    /**
     * Returns a raw unprocessed and unchecked source image
     *
     * See https://github.com/imgproxy/imgproxy/blob/f95f57bb4df35c69ae2257958006ef54b1c1d8c7/docs/generating_the_url.md#raw for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().raw();
     * ```
     */
    raw(this: this, ...options: Parameters<typeof raw>): this;
    /**
     * Defines the algorithm that imgproxy will use for resizing.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#resizing-algorithm-idresizing-algorithm for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().resizingAlgorithm(ResizingAlgorithm.NEAREST));
     * ```
     */
    resizingAlgorithm(this: this, ...options: Parameters<typeof resizingAlgorithm>): this;
    /**
     * Returns attachment in the Content-Disposition header.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#return-attachment for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().returnAttachment();
     * ```
     */
    returnAttachment(this: this): this;
    /**
     * Redefines the quality of the resulting image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#quality for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().quality(80);
     * ```
     */
    quality(this: this, ...options: Parameters<typeof quality>): this;
    /**
     * Resizes the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#resize for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().resize({
     *   type: ResizeType.AUTO,  // optional
     *   width: 100,             // optional
     *   height: 50              // optional
     * });
     * ```
     */
    resize(this: this, ...options: Parameters<typeof resize>): this;
    /**
     * Rotates the image by the specified angle.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#rotate for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().rotate(90);
     * ```
     */
    rotate(this: this, ...options: Parameters<typeof rotate>): this;
    /**
     * Adjust saturation of the resulting image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#saturation-idsaturation for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().saturation(0.3);
     * ```
     */
    saturation(this: this, ...options: Parameters<typeof saturation>): this;
    /**
     * Applies a sharpen filter to the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#sharpen for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().sharpen(3);
     * ```
     */
    sharpen(this: this, ...options: Parameters<typeof sharpen>): this;
    /**
     * Skip the processing of the listed formats.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#skip-processing for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().skipProcessing(['png', 'svg']);
     * ```
     */
    skipProcessing(this: this, ...options: Parameters<typeof skipProcessing>): this;
    /**
     * Strips the color profile from the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#strip-color-profile for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().stripColorProfile();
     * ```
     */
    stripColorProfile(this: this): this;
    /**
     * Strips the metadata from the image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#strip-metadata for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().stripMetadata();
     * ```
     */
    stripMetadata(this: this): this;
    /**
     * Prepend a `<style>` node with the provided CSS styles to the
     * `<svg>` node of a source SVG image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#style-idstyle for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().style('fill:red;width:30px;');
     *
     * pb().style({
     *   fill: 'red';
     *   width: '30px'
     * });
     * ```
     */
    style(this: this, ...options: Parameters<typeof style>): this;
    /**
     * Trims the image background.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#trim for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().trim({
     *   threshold: 10,       // required
     *   color: 'ffffff',     // optional
     *   equal: {             // optional
     *     horizontal: true,  // optional
     *     vertical: true     // optional
     *   }
     * });
     * ```
     */
    trim(this: this, ...options: Parameters<typeof trim>): this;
    /**
     * Allows redefining unsharpening options.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#unsharpening-idunsharpening for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().unsharpen({
     *   mode: UnsharpeningMode.AUTO,   // optional
     *   weight: 11,                    // optional
     *   dividor: 24                    // optional
     * });
     * ```
     */
    unsharpen(this: this, ...options: Parameters<typeof unsharpen>): this;
    /**
     * Specifies whether the latest keyframe before the video thumbnail second
     * should be used for thumbnail generation
     *
     * See https://github.com/imgproxy/imgproxy-docs/blob/676c6d4b1f5d9fee79abfecf130fc7dda3f9124e/versioned_docs/version-3.24.x/usage/processing.mdx#video-thumbnail-keyframes-pro-video-thumbnail-keyframes for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().videoThumbnailKeyframes(true);
     * ```
     */
    videoThumbnailKeyframes(this: this, ...options: Parameters<typeof videoThumbnailKeyframes>): this;
    /**
     * Redefines the second used for the thumbnail.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#video-thumbnail-second-idvideo-thumbnail-second for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().videoThumbnailSecond(3);
     * ```
     */
    videoThumbnailSecond(this: this, ...options: Parameters<typeof videoThumbnailSecond>): this;
    /**
     * Generates a tiled sprite using the source video frames
     *
     * See https://github.com/imgproxy/imgproxy-docs/blob/676c6d4b1f5d9fee79abfecf130fc7dda3f9124e/versioned_docs/version-3.24.x/usage/processing.mdx#video-thumbnail-tile-pro-video-thumbnail-tile for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().videoThumbnailTile({
     *   step: 1,           // required
     *   columns: 1,        // required
     *   rows: 1,           // required
     *   tileWidth: 50,     // required
     *   tileHeight: 50,    // required
     *   extendTile: true,  // optional
     *   trim: true,        // optional
     *   fill: true,        // optional
     *   focusX: 10.3,      // optional
     *   focusY: 10.3,      // optional
     * });
     * ```
     */
    videoThumbnailTile(this: this, ...options: Parameters<typeof videoThumbnailTile>): this;
    /**
     * Places a watermark on the processed image.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#watermark for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().watermark({
     *   opacity: 0.8,                          // required
     *   position: WatermarkPosition.REPLICATE  // optional
     *   scale: 2                               // optional
     * });
     *
     * pb().watermark({
     *   opacity: 1.0,
     *   scale: 1,
     *   position: WatermarkPosition.WEST  // optional
     *   offset: {                         // optional
     *     x: 10,                          // optional
     *     y: 10                           // optional
     *   }
     * })
     * ```
     */
    watermark(this: this, ...options: Parameters<typeof watermark>): this;
    /**
     * Adds a shadow to the watermark.
     *
     * See https://github.com/imgproxy/imgproxy/blob/f95f57bb4df35c69ae2257958006ef54b1c1d8c7/docs/generating_the_url.md#watermark-shadow-idwatermark-shadow for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().watermarkShadow(10);
     * ```
     */
    watermarkShadow(this: this, ...options: Parameters<typeof watermarkShadow>): this;
    /**
     * Defines the desired width and height of the watermark. imgproxy always
     * uses `fit` resizing type when resizing watermarks and enlarges them
     * when needed.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#watermark-size-idwatermark-size for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().watermarkSize({
     *   width: 30,  // required
     *   height: 30  // required
     * });
     * ```
     */
    watermarkSize(this: this, ...options: Parameters<typeof watermarkSize>): this;
    /**
     * Generate an image from the provided text and use it as a watermark.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#watermark-text-idwatermark-text for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().watermarkText("my watermark");
     * ```
     */
    watermarkText(this: this, ...options: Parameters<typeof watermarkText>): this;
    /**
     * Use the image from the specified URL as a watermark.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#watermark-url-idwatermark-url for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().watermarkUrl('https://example.com');
     * ```
     */
    watermarkUrl(this: this, ...options: Parameters<typeof watermarkUrl>): this;
    /**
     * Multiply the image dimensions according to the specified factors.
     *
     * See https://github.com/imgproxy/imgproxy/blob/6f292443eafb2e39f9252175b61faa6b38105a7c/docs/generating_the_url.md#zoom for the imgproxy documentation
     *
     * @example
     * ```typescript
     * pb().zoom(3);
     * ```
     */
    zoom(this: this, ...options: Parameters<typeof zoom>): this;
}
/**
 * Creates a new param builder instance
 *
 * @returns  The param builder instance
 */
declare const pb: () => ParamBuilder;
export default pb;
export { ParamBuilder };
