export declare const REFUSAL_CODES: readonly ["CAPABILITY_ESCALATION", "GRANT_ID_MALFORMED", "DEFINITION_NOT_AUTHORIZED", "UNDECLARED_TOOLS", "UNKNOWN_TOOL", "GATED_UNAPPROVED", "APPROVAL_EXPIRED", "APPROVAL_SCOPE_MISMATCH", "APPROVAL_FLOW_FAILED", "DEPTH_EXCEEDED", "FANOUT_EXCEEDED", "EXECUTOR_UNAVAILABLE", "MODEL_UNRESOLVED", "GRANT_STORE_INVALID", "CHILD_TIMED_OUT", "CHILD_CANCELLED", "CHILD_EXIT_NONZERO", "TASK_MISSING", "UNKNOWN_DEFINITION", "CEILING_PATTERNS_UNRESOLVED", "NARROWING_VIOLATED", "DEFINITION_UNREADABLE", "CORRELATION_TOO_LARGE", "CORRELATION_INVALID", "LEDGER_WRITE_FAILED", "FANOUT_FAILED", "WORKSPACE_NOT_REGISTERED", "WORKSPACE_NOT_AUTHORIZED", "WORKSPACE_WRITE_CONFLICT", "WORKSPACE_LEASE_STALE", "LEDGER_DAMAGED", "CONTEXT_REQUEST_INVALID"]; export type RefusalCode = (typeof REFUSAL_CODES)[number]; export interface StructuredRefusal { code: RefusalCode; /** Existing actionable diagnostic. Codes accompany rather than replace it. */ message: string; details?: Record; } export declare function refusal(code: RefusalCode, message: string, details?: StructuredRefusal["details"]): StructuredRefusal; /** Error shape for API callers. pi-facing tools still throw, as pi requires, while retaining a stable code. */ export declare class GovernanceRefusal extends Error { readonly code: RefusalCode; readonly details?: StructuredRefusal["details"]; constructor(value: StructuredRefusal); } //# sourceMappingURL=refusals.d.ts.map