import type { ProgressUpdate, TokenUsage, PricingConfig } from "../../types"; interface ProgressTrackerOptions { onProgress?: (progress: ProgressUpdate) => void; updateEvery?: number; pricing?: PricingConfig; globalDimensions?: string[]; } /** * Result structure for progress tracking */ interface ProgressResult { error?: string; metadata?: { cost?: number; tokens?: TokenUsage; model?: string; [key: string]: unknown; }; } export declare class ProgressTracker { private readonly startTime; private totalSections; private readonly totalDimensions; private completedOps; private currentDim; private currentSection; private readonly dimensions; private readonly callback?; private readonly updateEvery; private readonly pricing?; private updateCounter; private readonly globalDimensions; constructor(sections: number, dimensionNames: string[], options?: ProgressTrackerOptions); /** * Record a completed section */ record(dimension: string, section: number, success: boolean, skipped: boolean, durationMs: number, result: ProgressResult): void; /** * Get current progress (for polling) */ getProgress(): ProgressUpdate; private buildUpdate; /** * Calculate cost from result metadata * Uses same logic as CostCalculator */ private calculateCost; /** * Update total sections after transformation */ /** * Update total sections after transformation */ updateTotalSections(newTotal: number): void; private average; } export {}; //# sourceMappingURL=progress-tracker.d.ts.map