import { Buffer } from 'buffer';
/**
 * 图片哈希计算工具类
 * 使用 DCT(离散余弦变换)方法计算图片的感知哈希值，可用于图片相似度比较
 */
export declare class ContentHasher {
    /**
     * 计算图片的感知哈希值
     * @param imageBuffer - 图片的二进制数据
     * @returns 返回64位的十六进制哈希字符串
     * @throws 当图片处理失败时可能抛出错误
     */
    static calculateHash(imageBuffer: Buffer): Promise<string>;
    /**
     * 将二进制字符串转换为十六进制
     * @param binary - 二进制字符串
     * @returns 十六进制字符串
     * @private
     */
    private static binaryToHex;
    /**
     * 将十六进制字符串转换为二进制
     * @param hex - 十六进制字符串
     * @returns 二进制字符串
     * @private
     */
    private static hexToBinary;
    /**
     * 计算图像的DCT(离散余弦变换)
     * @param data - 图像数据
     * @param size - 图像尺寸
     * @returns DCT变换后的矩阵
     * @private
     */
    private static computeDCT;
    /**
     * 获取DCT系数
     * @param index - 索引值
     * @param size - 矩阵大小
     * @returns DCT系数
     * @private
     */
    private static getDCTCoefficient;
    /**
     * 计算数组的中位数
     * @param arr - 输入数组
     * @returns 中位数
     * @private
     */
    private static calculateMedian;
    /**
     * 从DCT矩阵中提取特征值
     * @param matrix - DCT矩阵
     * @param size - 矩阵大小
     * @returns 特征值数组
     * @private
     */
    private static extractFeatures;
    /**
     * 计算两个哈希值之间的汉明距离
     * @param hash1 - 第一个哈希值
     * @param hash2 - 第二个哈希值
     * @returns 汉明距离
     * @throws 当两个哈希值长度不等时抛出错误
     */
    static calculateDistance(hash1: string, hash2: string): number;
    /**
     * 计算两个图片哈希值的相似度
     * @param hash1 - 第一个哈希值
     * @param hash2 - 第二个哈希值
     * @returns 返回0-1之间的相似度值，1表示完全相同，0表示完全不同
     */
    static calculateSimilarity(hash1: string, hash2: string): number;
    /**
     * 计算文本的哈希值
     * @param text - 输入文本
     * @returns 文本的哈希值(36进制字符串)
     */
    static calculateTextHash(text: string): string;
}
