import { ICatalog } from '../core/catalog'; import { Processor } from '../core/processors'; import { TestCounts, TestOrder, YamlTestCase, TestStep, CorrectionLevel } from './interfaces'; import { StatisticsAggregator } from './statistics_aggregator'; import { SuitePredicate } from './suite_predicate'; export declare type SpeechToTextSimulator = (text: string) => string; export declare class Result { readonly test: TestCase; readonly observed: TestOrder[]; readonly passed: boolean; readonly exception: string | undefined; readonly latencyMS: number; constructor(test: TestCase, observed: TestOrder[], passed: boolean, exception: string | undefined, latencyMS: number); rebase(): YamlTestCase; toString(isomorphic?: boolean, correctionLevel?: CorrectionLevel): string; } export declare class AggregatedResults { suites: { [suite: string]: TestCounts; }; results: Result[]; passCount: number; failCount: number; statistics: StatisticsAggregator; correctionLevel: CorrectionLevel; recordResult(result: Result): void; toString(showPassedCases?: boolean, isomorphic?: boolean): string; print(showPassedCases?: boolean, isomorphic?: boolean): void; printLatencyStatistics(): void; rebase(): YamlTestCases; } export declare function explainDifferences(observed: TestOrder, expected: TestStep): void; export declare class TestCase { id: number; suites: string[]; comment: string; steps: TestStep[]; constructor(id: number, suites: string[], comment: string, steps: TestStep[]); run(processor: Processor, catalog: ICatalog, correctionLevel: CorrectionLevel, isomorphic?: boolean, evaluateIntermediate?: boolean): Promise; } export declare function ordersAreEqualCanonical(expected: TestOrder, observed: TestOrder): boolean; export declare function explainDifferencesCanonical(expected: TestOrder, observed: TestStep): boolean; export declare function getYamlInputText(step: TestStep, correctionLevel: CorrectionLevel): string; export declare function getCorrectLevelFields(level: CorrectionLevel): string[]; export declare function getCorrectionLevel(level: string): CorrectionLevel | undefined; export declare type YamlTestCases = YamlTestCase[]; export declare class TestSuite { readonly tests: TestCase[]; static fromYamlString(yamlText: string): TestSuite; static fromInputLines(processor: Processor, catalog: ICatalog, speechToTextSimulator: SpeechToTextSimulator, lines: string[], suites: string[], comment: string): Promise; constructor(tests: TestCase[]); filteredTests(suiteFilter: SuitePredicate): IterableIterator; run(processor: Processor, catalog: ICatalog, suiteFilter: SuitePredicate, correctionLevel?: CorrectionLevel, isomorphic?: boolean, evaluateIntermediate?: boolean): Promise; }