declare type InferInput = Model extends TestModel ? I : Model; declare type InferResult = Model extends TestModel ? R : void; export declare type TestModel = { expected?: Result; input: Input; }; export declare type TestSuit, Input = InferInput, Result = InferResult> = { key: string; label: string; models: TestModel[]; processor: (model: Input) => Promise; }; export declare function runTestSuits(testSuits: TestSuit[]): Promise; export declare function runTestSuit, Input = InferInput, Result = InferResult>(testSuit: TestSuit): Promise; export declare function assertNoTestErrors(): void; export {};