/**
 * 生成 SM4 CBC 模式专用的安全随机 IV（16字节）
 * @param {string} [outputFormat=SM4_OUTPUT_HEX] - 输出格式：hex/uint8array/array/arraybuffer
 * @returns {string|Uint8Array|Array|ArrayBuffer} 随机IV
 */
export function generateIv(outputFormat?: string): string | Uint8Array | any[] | ArrayBuffer;
/**
 * 生成 SM4 标准密钥（16字节/32位16进制字符串）
 * @param {string} [outputFormat=SM4_OUTPUT_HEX] - 输出格式：hex/uint8array/array/arraybuffer
 * @returns {string|Uint8Array|number[]|ArrayBuffer} 16字节SM4密钥
 */
export function generateKey(outputFormat?: string): string | Uint8Array | number[] | ArrayBuffer;
/**
 * SM4加密
 * @param {string|Array|Uint8Array|ArrayBuffer} input - 输入数据（字符串/字节）
 * @param {string|Array|Uint8Array|ArrayBuffer} key - 16字节密钥
 * @param {Object} [options] - 选项
 * @returns {string|Array|Uint8Array|ArrayBuffer} 加密结果
 */
export function encrypt(input: string | any[] | Uint8Array | ArrayBuffer, key: string | any[] | Uint8Array | ArrayBuffer, options?: Object): string | any[] | Uint8Array | ArrayBuffer;
/**
 * SM4解密
 * @param {string|Array|Uint8Array|ArrayBuffer} input - 加密数据（16进制字符串/字节）
 * @param {string|Array|Uint8Array|ArrayBuffer} key - 16字节密钥
 * @param {Object} [options] - 选项
 * @returns {string|Array|Uint8Array|ArrayBuffer} 解密结果
 */
export function decrypt(input: string | any[] | Uint8Array | ArrayBuffer, key: string | any[] | Uint8Array | ArrayBuffer, options?: Object): string | any[] | Uint8Array | ArrayBuffer;
export namespace MODE {
    export { SM4_MODE_ECB as ECB };
    export { SM4_MODE_CBC as CBC };
}
export const PADDING: "pkcs#7";
export namespace OUTPUT {
    export { SM4_OUTPUT_HEX as HEX };
    export { SM4_OUTPUT_UTF8 as UTF8 };
    export { SM4_OUTPUT_ARRAY as ARRAY };
    export { SM4_OUTPUT_UINT8ARRAY as UINT8ARRAY };
    export { SM4_OUTPUT_ARRAYBUFFER as ARRAYBUFFER };
}
declare const SM4_MODE_ECB: "ecb";
declare const SM4_MODE_CBC: "cbc";
declare const SM4_OUTPUT_HEX: "hex";
declare const SM4_OUTPUT_UTF8: "utf8";
declare const SM4_OUTPUT_ARRAY: "array";
declare const SM4_OUTPUT_UINT8ARRAY: "uint8array";
declare const SM4_OUTPUT_ARRAYBUFFER: "arraybuffer";
export {};
