import type { Effect, Scope } from "effect" export interface Registration { readonly dispose: Effect.Effect } export type Hooks = Record> = < Name extends keyof Spec, >( name: Name, callback: (input: Spec[Name]) => Effect.Effect, ) => Effect.Effect export type Transform = (callback: (input: Input) => void) => Effect.Effect