import { type PackageResult, type PackageStatus, type JobPhase, type ProgressSummary, BaseReporter } from '../reporter.js';
import { type IStateTracker, type PackageState } from './state-tracker.js';
export type { PackageState } from './state-tracker.js';
/**
 * Centralized state container for a live batch run.
 * Extends BaseReporter to receive lifecycle hooks and mutate state.
 * Reporters read from it via the IStateTracker interface.
 */
export declare class LiveStateTracker extends BaseReporter implements IStateTracker {
    private _packages;
    private _startTimeMs;
    private _completed;
    private _failures;
    private _allResults;
    constructor(packageNames: string[]);
    get total(): number;
    get completed(): number;
    get startTimeMs(): number;
    getPackage(name: string): PackageState | undefined;
    getAllPackages(): PackageState[];
    getResults(): PackageResult[];
    getFailures(): PackageResult[];
    getCurrentPhase(name: string): PackageStatus | undefined;
    startAsync(): Promise<void>;
    onPackageStart(name: string): void;
    onPackagePhaseChange(name: string, phase: JobPhase): void;
    onPackageProgressUpdate(name: string, progress: ProgressSummary): void;
    onPackageResult(result: PackageResult, bufferedOutput?: string[]): void;
}
//# sourceMappingURL=live-state-tracker.d.ts.map