import * as T from "../../Effect/index.js"; import * as E from "../../Either/index.js"; import type * as TAM from "../TestAnnotationMap/index.js"; import type { TestFailure } from "../TestFailure/index.js"; import type { TestSuccess } from "../TestSuccess/index.js"; export declare const ExecutedSpecCaseTypeId: unique symbol; export declare type ExecutedSpecCaseTypeId = typeof ExecutedSpecCaseTypeId; export declare abstract class ExecutedSpecCase { readonly [ExecutedSpecCaseTypeId]: ExecutedSpecCaseTypeId; readonly [T._E]: () => E; readonly [T._A]: () => A; map(f: (a: A) => B): ExecutedSpecCase; } export declare function concreteExecutedSpecCase(_: ExecutedSpecCase): asserts _ is ExecutedSuiteCase | ExecutedTestCase; export declare class ExecutedSuiteCase extends ExecutedSpecCase { readonly label: string; readonly specs: readonly A[]; readonly _tag = "SuiteCase"; constructor(label: string, specs: readonly A[]); } export declare class ExecutedTestCase extends ExecutedSpecCase { readonly label: string; readonly test: E.Either, TestSuccess>; readonly annotations: TAM.TestAnnotationMap; readonly _tag = "TestCase"; constructor(label: string, test: E.Either, TestSuccess>, annotations: TAM.TestAnnotationMap); } export declare const SpecTypeId: unique symbol; export declare type SpecTypeId = typeof SpecTypeId; /** * An `ExecutedSpec` is a spec that has been run to produce test results. */ export declare class ExecutedSpec { readonly caseValue: ExecutedSpecCase>; readonly [SpecTypeId]: SpecTypeId; readonly [T._E]: () => E; constructor(caseValue: ExecutedSpecCase>); } //# sourceMappingURL=index.d.ts.map