export type AuditRole = 'security' | 'perf'; export interface HandoffMissingRefusal { readonly warnings: readonly string[]; readonly nextActions: readonly string[]; } /** * Build the refusal payload for a `handoff-missing` detect result. * * `envelopeValidated` is a MEASUREMENT, not an assumption — pass * `envelope !== undefined && isAuditEnvelope(envelope)`. The load-bearing * sentence is emitted only when it is true: the read-only `detect` surface * carries no envelope at all, so claiming there that the envelope was valid * would be a claim stronger than the code. * * An omitted `requestId` is the un-scoped probe: `resolveHandoffPath` could only * have tried `prd/handoff.md`, so the refusal must not name the slice-scoped path * as the missing one, and must say that the creating command needs a `--rid` * this run does not have. */ export declare function handoffMissingRefusal(opts: { readonly role: AuditRole; readonly projectRoot: string; readonly sessionId: string; readonly requestId?: string; readonly envelopeValidated: boolean; }): HandoffMissingRefusal;