/** * A turn's deadline, and how a cut turn tells it from a stop. * * To pi, a deadline and a stop are the same abort. The difference travels in * the signal's reason, so whoever set the deadline, a subagent's own * `timeoutMs` or a flow's attempt, the subagent that was cut reads the same * words for it, and the transcript, `usage.json` and the journal of a run * agree on what happened. It also words the deadline, once, for every bound * that fires: a turn's, a question's, a check's. */ /** * How a bound of `ms` that fired reads: `timed out after 30m`, as a flow file * writes the bound, or in milliseconds when it is not whole seconds, which * rounding would misstate. */ export declare function timedOutAfter(ms: number): string; /** The reason a deadline of `ms` aborts with: a `TimeoutError`, as `AbortSignal.timeout` gives. */ export declare function expiry(ms: number): DOMException; /** A signal that aborts `ms` from now, with {@link expiry} as its reason. Its timer never keeps the process alive. */ export declare function deadline(ms: number): AbortSignal; /** * What `signal` says of a deadline that cut it: the reason's message when it * aborted on a `TimeoutError`, `undefined` for any other abort. The first * cause wins, since `AbortSignal.any` keeps the reason of whichever fired first. */ export declare function timedOut(signal: AbortSignal): string | undefined; //# sourceMappingURL=deadline.d.ts.map