import { ReadonlySubject } from "@iyio/common";
import { ConvoModelInfo } from "../convo-types.js";
import { ConvoModelTestResult } from './convo-testing-types.js';
export interface ConvoModelTestManagerOptions {
    models: ConvoModelInfo[];
    parallel?: boolean;
    printUpdates?: boolean;
    verbose?: boolean;
    defaultModel?: boolean;
    tests?: string[];
}
export declare class ConvoModelTestManager {
    private readonly options;
    private readonly _testResults;
    get testResultsSubject(): ReadonlySubject<ConvoModelTestResult[]>;
    get testResults(): ConvoModelTestResult[];
    constructor({ models, parallel, printUpdates, verbose, defaultModel, tests, }: ConvoModelTestManagerOptions);
    printUpdate: () => void;
    printResults(errorsOnly: boolean): void;
    private testNames?;
    runTestAsync(): Promise<void>;
    publishResult(result: ConvoModelTestResult): void;
}
