import { type InterruptResponse } from "./interrupts.js"; export type InterruptOpts = { /** Stable identifier for the interrupt effect. Mirrors the effect a * generated `interrupt foo` statement would emit. Used by handlers * to decide whether to intercept. Optional — defaults to * `"unknown"` so quick TS scripts can call `agency.interrupt({message:...})` * without inventing an effect name. */ effect?: string; /** Human-readable description shown to the user / dashboards when * the interrupt propagates. */ message: string; /** Arbitrary structured data attached to the interrupt. Forwarded * to handlers and persisted on the propagated `Interrupt`. * Optional — interrupts that carry no payload (e.g. a bare * "needs user attention") can omit it. */ data?: T; /** Declare that the caller will USE the approval value (the TS analog of * an assignment-position raise, `const x = raise …`). Surfaces as * `Interrupt.expectsValue` so approvers know to provide one. */ expectsValue?: boolean; }; export declare function interrupt(opts: InterruptOpts): Promise;