import type { Envelope } from './types.js'; export declare class EnvelopeViolation extends Error { readonly code: string; readonly metadata: Record; constructor(message: string, code: string, metadata?: Record); } /** * Memory READ tools may be allowed scopes beyond the envelope's own list via the * grant mirror (see mirrorReadScopes in evidence/read.ts): a run allowed to read a * channel's raw events may recall the memories extracted from it. WRITES never * widen - mama_save's scope binding is permanent, so it answers only to the * envelope's identity scopes. */ export declare const MIRROR_READABLE_TOOLS: Set; export interface EnvelopeCheckOptions { /** Extra READ-only memory scope allowance, computed by the caller at check time. */ readScopeMirror?: ReadonlyArray<{ kind: string; id: string; }>; } export declare class EnvelopeEnforcer { check(envelope: Envelope | null | undefined, toolName: string, args: unknown, options?: EnvelopeCheckOptions): void; private checkExpiry; private checkDestination; private checkRawConnectors; private checkMemoryScopes; private checkTier; } //# sourceMappingURL=enforcer.d.ts.map