import type { BenchmarkedOpenRouterModel, BenchmarkFailureCounts, BenchmarkFailureKind } from "./benchmark.js";
export declare function formatRefreshFreeDuration(ms: number): string;
export declare class RefreshFreeReporter {
    #private;
    constructor({ stderr, env, verbose, }: {
        stderr: NodeJS.WritableStream;
        env: Record<string, string | undefined>;
        verbose: boolean;
    });
    fetchingCatalog(): void;
    filteredOldModels({ count, total, maxAgeDays, ids, }: {
        count: number;
        total: number;
        maxAgeDays: number;
        ids: string[];
    }): void;
    filteredSmallModels({ count, total, minParamB, ids, }: {
        count: number;
        total: number;
        minParamB: number;
        ids: string[];
    }): void;
    benchmarkStarting({ modelCount, totalRuns, concurrency, timeoutMs, }: {
        modelCount: number;
        totalRuns: number;
        concurrency: number;
        timeoutMs: number;
    }): void;
    benchmarkProgress({ done, total, okCount, elapsedMs, }: {
        done: number;
        total: number;
        okCount: number;
        elapsedMs: number;
    }): void;
    benchmarkSuccess({ modelId, latencyMs }: {
        modelId: string;
        latencyMs: number;
    }): void;
    benchmarkFailure({ modelId, kind, message, }: {
        modelId: string;
        kind: BenchmarkFailureKind;
        message: string;
    }): void;
    cooldown(remainingMs: number): void;
    benchmarkFinished(): void;
    benchmarkResults({ workingCount, testedCount, failureCounts, }: {
        workingCount: number;
        testedCount: number;
        failureCounts: BenchmarkFailureCounts;
    }): void;
    refining(candidateCount: number, extraRuns: number): void;
    refinementFailure(modelId: string, error: unknown): void;
    selected(candidateCount: number): void;
    selectedModels(selectedIds: string[], refined: BenchmarkedOpenRouterModel[]): void;
}
