import type { Image } from '../Image.js';
import type { BorderType } from '../utils/interpolateBorder.js';
import type { InterpolationType } from '../utils/interpolatePixel.js';
export interface ResizeOptions {
    /**
     * Width of the output image.
     */
    width?: number;
    /**
     * Height of the output image.
     */
    height?: number;
    /**
     * Factor by which to scale the width.
     */
    xFactor?: number;
    /**
     * Factor by which to scale the width.
     */
    yFactor?: number;
    /**
     * Whether the aspect ratio of the image should be preserved.
     * @default `true`
     */
    preserveAspectRatio?: boolean;
    /**
     * Method to use to interpolate the new pixels.
     * @default `'bilinear'`
     */
    interpolationType?: InterpolationType;
    /**
     * Specify how the borders should be handled.
     * @default `'constant'`
     */
    borderType?: BorderType;
    /**
     * Value of the border if BorderType is 'constant'.
     * @default `0`
     */
    borderValue?: number | number[];
}
/**
 * Returns a resized copy of an image.
 * @param image - Original image.
 * @param options - Resize options.
 * @returns The new image.
 */
export declare function resize(image: Image, options: ResizeOptions): Image;
//# sourceMappingURL=resize.d.ts.map