type HashAlgorithmName = "md5" | SHAHashAlgorithmName;
type SHAHashAlgorithmName = "sha1" | "sha256" | "sha512";
/**
 * 进行 md5|sha1|sha256 数据摘要签名
 * @param d 待加密的数据
 * @param algorithm 签名算法, md5、sha1、sha256. Defaults to "sha256".
 * @param upper 返回的结果是否需要大写. Defaults to False.
 */
export declare function hashDigest(d: string, algorithm?: HashAlgorithmName, upper?: boolean): string;
/**
 * 进行 md5|sha1|sha256 数据摘要签名
 * @param d 待加密的数据
 * @param algorithm 签名算法, md5、sha1、sha256. Defaults to "sha256".
 * @param upper 返回的结果是否需要大写. Defaults to False.
 */
export declare function hash(d: string, algorithm?: HashAlgorithmName, upper?: boolean): string;
/**
 * 使用 HMAC 算法对消息进行哈希处理
 * @param message 待处理的消息
 * @param key 用于 HMAC 算法的密钥
 * @param algorithm 哈希算法，可选值为 "sha1"、"sha256" 或 "sha512"，默认为 "sha256"
 * @param upper 返回的结果是否需要大写，默认为 false
 * @returns 经过 HMAC 哈希处理后的字符串
 */
export declare function hmacHash(message: string, key: string, algorithm?: SHAHashAlgorithmName, upper?: boolean): string;
/**
 * 生成 RSA 签名密钥对
 * @returns: [公钥, 私钥]
 */
export declare function keyPair(): Promise<[string, string]>;
/**
 * AES 加密
 * @param key   加密密钥
 * @param input 待加密的数据
 * @param upper 是否转换为大写
 * @returns [加密数据, 向量]
 */
export declare function aesEncrypt(key: string, input: string, upper?: boolean): [string, string];
/**
 * AES 解密
 * @param input 加密后的数据
 * @param key   密钥
 * @param iv    向量
 * @returns
 */
export declare function aesDecrypt(input: string, key: string, iv: string): string;
/**
 * RSA 公钥加密
 * @param input 待加密字符串
 * @param publicKey 公钥
 * @returns
 */
export declare function rsaEncrypt(input: string, publicKey: string): string;
/**
 * RSA 解密
 * @param encrtypData RSA加密后的数据
 * @param privateKey  私钥
 * @returns
 */
export declare function rsaDecrypt(encrtypData: string, privateKey: string): string;
export {};
