export declare function ensureDir(dir: string): void;
/**
 * 从填色详情页 URL 中提取素材 ID 并拼接 zip 下载地址。
 *
 * 输入：https://color2.jccytech.cn/app/zh/pages/detail/6a154397957ac783bac98e10
 * 输出：https://color2.jccytech.cn/zips/v2/number_mini/1501/6a154397957ac783bac98e10.zip
 */
export declare function parseDetailUrl(detailUrl: string): {
    id: string;
    zipUrl: string;
} | null;
/**
 * 下载远程文件到 Buffer
 */
export declare function downloadFile(url: string): Promise<Buffer>;
/**
 * XOR 解密 zip 文件。
 *
 * 密钥 = 文件名（不含扩展名），即素材 ID。
 * 对整个文件逐字节异或解密，密钥循环使用。
 */
export declare function xorDecryptBuffer(encrypted: Buffer, key: string): Buffer;
export declare function getCreativeAssetsDir(storageDir: string, creativeId: string): string;
export declare function getBuildOutputDir(storageDir: string, creativeId: string, buildId: string): string;
export declare function scanAssetFiles(assetsDir: string): {
    config: boolean;
    page: boolean;
    map: boolean;
    special: string | null;
};
//# sourceMappingURL=storageService.d.ts.map