import { type InterruptResponse } from "./interrupts.js";
export type InterruptOpts<T = unknown> = {
    /** Stable identifier for the interrupt kind. Mirrors the kind 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 a kind name. */
    kind?: 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;
};
export declare function interrupt<T = unknown>(opts: InterruptOpts<T>): Promise<InterruptResponse>;
