import { AREA_MAP } from './config';
import type { IPurgeType, IPurgeMethod } from '../eo/type';
/**
 * 上传文件到 COS 并刷新 CDN 缓存（一体化操作）
 * 先上传文件到 COS，然后自动刷新对应的 CDN URL 缓存，支持 CDN 和 EdgeOne 两种刷新方式
 * @param {object} config 配置信息
 * @param {string} config.secretId 腾讯云 secretId
 * @param {string} config.secretKey 腾讯云 secretKey
 * @param {string} config.bucket COS bucket
 * @param {string} config.region COS region
 * @param {Array<object>} config.files 文件列表，每项包含 key、path、url
 * @param {string} [config.area='mainland'] CDN 刷新区域
 * @param {boolean} [config.useEO] 是否使用 EdgeOne 刷新（默认使用 CDN）
 * @param {object} [config.eoOptions] EdgeOne 刷新配置
 * @returns {Promise<{uploadResult: any, purgeResult: any, code: 1|2}>} code=2 表示上传和刷新均成功，code=1 表示上传成功但刷新失败
 * @example
 * ```ts
 * const result = await uploadCOSFileAndPurgeUrlCache({
 *   secretId: 'xxx',
 *   secretKey: 'xxx',
 *   bucket: 'my-bucket-1250000000',
 *   region: 'ap-guangzhou',
 *   files: [{
 *     key: 'static/app.js',
 *     path: '/dist/app.js',
 *     url: 'https://cdn.example.com/static/app.js',
 *   }],
 * });
 * ```
 */
export declare function uploadCOSFileAndPurgeUrlCache({ secretId, secretKey, bucket, region, files, area, useEO, eoOptions, }: {
    secretId: string;
    secretKey: string;
    bucket: string;
    region: string;
    files: Array<{
        key: string;
        path: string;
        url: string;
    }>;
    area?: (typeof AREA_MAP)[keyof typeof AREA_MAP];
    useEO?: boolean;
    eoOptions?: {
        zoneId: string;
        type?: IPurgeType;
        method?: IPurgeMethod;
    };
}): Promise<{
    uploadResult: any;
    purgeResult: any;
    code: 1 | 2;
}>;
