export type UploadStatus = 'success' | 'failed' | 'skipped'; export interface UploadFileResult { localPath: string; relativePath: string; bucket: string; key: string; status: UploadStatus; error?: Error; accessUrl?: string; } export interface UploadSummary { total: number; success: string[]; failed: string[]; skipped: string[]; context?: { bucket: string; suffix: string; localDir: string; cdnBaseUrl?: string; }; } export interface Reporter { onStart?(context: { env?: string; bucket: string; suffix: string; localDir: string; cdnBaseUrl?: string; }): void | Promise; onProgress?(current: number, total: number): void | Promise; onFileResult?(result: UploadFileResult): void | Promise; onComplete?(summary: UploadSummary): void | Promise; } export declare class ConsoleReporter implements Reporter { private progressBar; onStart(_context: { env?: string; bucket: string; suffix: string; localDir: string; cdnBaseUrl?: string; }): void; onProgress(current: number, total: number): void; onFileResult(_result: UploadFileResult): void; onComplete(summary: UploadSummary): void; } export declare class ScriptReporter implements Reporter { onStart(_context: { env?: string; bucket: string; suffix: string; localDir: string; cdnBaseUrl?: string; }): void; onProgress(current: number, total: number): void; onFileResult(_result: UploadFileResult): void; onComplete(summary: UploadSummary): void; } //# sourceMappingURL=reporter.d.ts.map