import type { FailureSummary } from "../execution/failure.js"; import type { ArgvRefusalError, RefusalIssue } from "../interpretation/refusal.js"; export interface Refusal { readonly nativeApproval?: FailureSummary["nativeApproval"]; readonly message: string; readonly issue: RefusalIssue; readonly option?: ArgvRefusalError["option"]; readonly facet?: ArgvRefusalError["facet"]; readonly supported?: readonly string[]; readonly supportedBy?: ArgvRefusalError["supportedBy"]; readonly hint?: string; readonly trailer?: readonly string[]; } export declare const refusalOf: (err: ArgvRefusalError) => Refusal; /** Write the terminal pair a --json stream is owed when it ends before the * runner produced one: the failure, then the stream's terminal event. A * one-shot turn ends with `done`; a session ends with `closed`. Shared so * both surfaces stay identical apart from that kind. */ export declare const writeFailurePair: (summary: FailureSummary, terminal?: "done" | "closed") => void; export declare const refuse: (r: Refusal, json: boolean, terminal?: "done" | "closed") => void; //# sourceMappingURL=refuse.d.ts.map