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