import type { Image } from '../Image.js';
export interface LevelOptions {
    /**
     * Specify which channels should be processed. To process the alpha as well,
     * specify the channels as [0,1,2,3] for RGBA images and [0,1] for GREYA.
     * @default All components of the image the image (no alpha).
     */
    channels?: number[];
    /**
     * Input lower bound.
     * @default `image.minMax().min`
     */
    inputMin?: number | number[];
    /**
     * Input upper bound.
     * @default `image.minMax().min`
     */
    inputMax?: number | number[];
    /**
     * output lower bound.
     * @default `0`
     */
    outputMin?: number | number[];
    /**
     * Output upper bound.
     * @default `image.maxValue`
     */
    outputMax?: number | number[];
    /**
     * Specifies the shape of the curve connecting the two points.
     *  @default `1`
     */
    gamma?: number | number[];
    /**
     * Image to which to output.
     */
    out?: Image;
}
/**
 * Level the image using the optional input and output value. The default options allow to increase the image's contrast.
 * @param image - Image to process.
 * @param options - Level options.
 * @returns The levelled image.
 */
export declare function level(image: Image, options?: LevelOptions): Image;
//# sourceMappingURL=level.d.ts.map