import type { ExecutionStrategy, UIO } from "../../Effect"
import type { Has } from "../../Has"
import type { Layer } from "../../Layer"
import type { Annotations } from "../Annotations"
import * as ES from "../ExecutedSpec"
import * as Spec from "../Spec"
export interface TestExecutor<R, E> {
  readonly run: (
    spec: Spec.ZSpec<R, E>,
    defExec: ExecutionStrategy
  ) => UIO<ES.ExecutedSpec<E>>
  readonly environment: Layer<unknown, never, R>
}
export declare function defaultExecutor<R extends Has<Annotations>, E>(
  env: Layer<unknown, never, R>
): TestExecutor<R, E>
//# sourceMappingURL=index.d.ts.map
