import type { RuntimeEventBus } from '../events/index.js'; import type { EmitterContext } from './index.js'; /** Emit PERMISSION_REQUESTED when a tool needs a permission decision. */ export declare function emitPermissionRequested(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; args: Record; category: string; classification?: string | undefined; riskLevel?: string | undefined; summary?: string | undefined; reasons?: readonly string[] | undefined; }): void; /** Emit RULES_COLLECTED after all permission rules are gathered. */ export declare function emitRulesCollected(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; ruleCount: number; }): void; /** Emit INPUT_NORMALIZED after tool args are normalised for policy evaluation. */ export declare function emitInputNormalized(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; }): void; /** Emit POLICY_EVALUATED after static policy rules are checked. */ export declare function emitPolicyEvaluated(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; result: 'allow' | 'deny' | 'unknown'; }): void; /** Emit MODE_EVALUATED after trust mode is checked. */ export declare function emitModeEvaluated(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; mode: string; result: 'allow' | 'deny' | 'unknown'; }): void; /** Emit PERMISSION_MODE_CHANGED when the session permission mode changes. */ export declare function emitPermissionModeChanged(bus: RuntimeEventBus, ctx: EmitterContext, data: { mode: string; previousMode: string; }): void; /** Emit SESSION_OVERRIDE_EVALUATED after session always-allow list is checked. */ export declare function emitSessionOverrideEvaluated(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; overrideApplied: boolean; }): void; /** Emit SAFETY_CHECKED after safety validation (path traversal, etc.) runs. */ export declare function emitSafetyChecked(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; safe: boolean; warnings: string[]; }): void; /** Emit DECISION_EMITTED when the final permission decision is made. */ export declare function emitPermissionDecision(bus: RuntimeEventBus, ctx: EmitterContext, data: { callId: string; tool: string; approved: boolean; source: string; sourceLayer?: string | undefined; persisted?: boolean | undefined; reasonCode?: string | undefined; classification?: string | undefined; riskLevel?: string | undefined; summary?: string | undefined; }): void; //# sourceMappingURL=permissions.d.ts.map