import { ServiceDefinition, ServiceGraph, ServiceGraphRunner } from "./service-graph.mjs"; import { StartableTask } from "./taskable.mjs"; import { Operation } from "effection"; //#region src/test-rig.d.ts type ServiceMap = Record>; type ServiceTestRig = { graph: ServiceGraph; with: W; }; type ServiceTestRigOptions = { subset?: Array; createWith?: (context: { graph: ServiceGraph; }) => W; }; type ServiceTestRigTask = StartableTask>; type ServiceTestRigOperationFactory = () => Operation>; type ServiceTestRigTaskFactory = () => ServiceTestRigTask; type ServiceTestRigFor unknown> = ReturnType extends Operation ? T : ReturnType extends StartableTask ? T : never; declare function useServiceTestRig>(serviceGraph: ServiceGraphRunner, options?: ServiceTestRigOptions): ServiceTestRigOperationFactory; declare function createServiceTestRig>(serviceGraph: ServiceGraphRunner, options?: ServiceTestRigOptions): ServiceTestRigTaskFactory; //#endregion export { ServiceTestRig, ServiceTestRigFor, ServiceTestRigOperationFactory, ServiceTestRigOptions, ServiceTestRigTask, ServiceTestRigTaskFactory, createServiceTestRig, useServiceTestRig };