/**
 * 获取腾讯云COS对象的元数据信息（不返回对象内容）
 *
 * @param secretId - 腾讯云API密钥ID
 * @param secretKey - 腾讯云API密钥Key
 * @param bucket - COS存储桶名称
 * @param region - COS存储桶所在区域
 * @param key - 对象键（Object Key），对象在存储桶中的唯一标识
 * @returns Promise对象，成功时返回对象的元数据信息（如大小、修改时间等），失败时返回错误信息
 * @throws 当参数不全时会抛出错误
 * @example
 * ```typescript
 * getCosHeadObject({
 *   secretId: 'your-secret-id',
 *   secretKey: 'your-secret-key',
 *   bucket: 'test-bucket',
 *   region: 'ap-beijing',
 *   key: 'path/to/file.txt'
 * })
 * .then(data => console.log(data))
 * .catch(err => console.error(err));
 * ```
 */
export declare function getCosHeadObject({ secretId, secretKey, bucket, region, key, }: {
    secretId: string;
    secretKey: string;
    bucket: string;
    region: string;
    key: string;
}): Promise<any>;
/**
 * 下载腾讯云COS对象内容
 *
 * @param secretId - 腾讯云API密钥ID
 * @param secretKey - 腾讯云API密钥Key
 * @param bucket - COS存储桶名称
 * @param region - COS存储桶所在区域
 * @param key - 对象键（Object Key），对象在存储桶中的唯一标识
 * @param output - 输出路径或输出流，可选参数。如果指定，对象内容将写入该路径或流
 * @returns Promise对象，成功时返回对象内容数据，失败时返回错误信息
 * @throws 当参数不全时会抛出错误
 * @example
 * ```typescript
 * // 下载到内存
 * downloadCosObject({
 *   secretId: 'your-secret-id',
 *   secretKey: 'your-secret-key',
 *   bucket: 'test-bucket',
 *   region: 'ap-beijing',
 *   key: 'path/to/file.txt'
 * })
 * .then(data => console.log(data))
 * .catch(err => console.error(err));
 *
 * // 下载到文件
 * downloadCosObject({
 *   secretId: 'your-secret-id',
 *   secretKey: 'your-secret-key',
 *   bucket: 'test-bucket',
 *   region: 'ap-beijing',
 *   key: 'path/to/file.txt',
 *   output: './local/file.txt'
 * })
 * .then(data => console.log('下载成功'))
 * .catch(err => console.error(err));
 * ```
 */
export declare function downloadCosObject({ secretId, secretKey, bucket, region, key, output, }: {
    secretId: string;
    secretKey: string;
    bucket: string;
    region: string;
    key: string;
    output?: string | any;
}): Promise<any>;
/**
 * 判断 COS 对象与本地文件是否一致（基于 size 与 ETag/MD5）
 *
 * 实现说明：
 * 1. 先比较文件大小（HEAD 返回的 Content-Length 与本地 stat().size）；不一致直接判定为不同。
 * 2. 大小一致时，再比较 MD5：
 *    - 优先使用 COS 的 `x-cos-meta-md5`（上传时显式设置的元数据，最可靠）；
 *    - 否则使用 ETag（仅当对象为简单上传，即 ETag 不含连字符 `-` 时才视为整体 MD5；分块上传 ETag 不可用于直接比较）。
 *
 * @param secretId  - 腾讯云 API 密钥 ID
 * @param secretKey - 腾讯云 API 密钥 Key
 * @param bucket    - COS 存储桶名称
 * @param region    - COS 存储桶所在区域
 * @param key       - 对象键
 * @param localFilePath - 本地文件路径
 * @returns {Promise<boolean>} 一致返回 true，否则 false（本地文件不存在或对象不存在也返回 false）
 *
 * @example
 * ```typescript
 * const same = await isCosObjectSameAsLocal({
 *   secretId, secretKey,
 *   bucket: 'test-bucket', region: 'ap-beijing',
 *   key: 'path/to/file.txt',
 *   localFilePath: './local/file.txt',
 * });
 * if (!same) {
 *   // 重新上传
 * }
 * ```
 */
export declare function isCosObjectSameAsLocal({ secretId, secretKey, bucket, region, key, localFilePath, }: {
    secretId: string;
    secretKey: string;
    bucket: string;
    region: string;
    key: string;
    localFilePath: string;
}): Promise<boolean>;
