import type { Image } from '../../Image.ts';
export interface SsimOptions {
    /**
     * Window size for SSIM map.
     * @default `Math.min(11, image.width, image.height)`
     */
    windowSize?: number;
    /**
     * Algorithm to use to compute the SSIM.
     * @default `'original'`
     */
    algorithm?: 'fast' | 'original' | 'bezkrovny' | 'weber';
}
export interface Ssim {
    /**
     * Mean SSIM of the whole image. It is the mean value of the SSIM map.
     * It is a similarity score between two images.
     */
    mssim: number;
    /**
     * Similarity map of the two images. The dimensions of the map depend the windowSize option.
     * Create a GREY image based on this map to visualize the similarity of the different regions of the image.
     */
    ssimMap: {
        data: number[];
        width: number;
        height: number;
    };
}
/**
 * Compute the Structural Similarity (SSIM) of two RGBA or two GREY images.
 * "The resultant SSIM index is a decimal value between -1 and 1,
 * where 1 indicates perfect similarity, 0 indicates no similarity,
 * and -1 indicates perfect anti-correlation."
 * @see {@link https://en.wikipedia.org/wiki/Structural_similarity}
 * @param image - First image.
 * @param otherImage - Second image.
 * @param options - SSIM options.
 * @returns SSIM of the two images.
 */
export declare function computeSsim(image: Image, otherImage: Image, options?: SsimOptions): Ssim;
//# sourceMappingURL=compute_ssim.d.ts.map