import type { ToolCall } from "../../../types.js"; import type { EngagementScope } from "../../../store/scope.js"; import type { EngagementAction } from "../../../safety/engagement-policy.js"; import { evaluateEngagementAction } from "../../../safety/engagement-policy.js"; import { type EngagementActionRecord, type EngagementGraph } from "../../../store/engagement.js"; export interface EngagementGatePorts { readonly scope: EngagementScope | undefined; readonly audit: (event: string, payload: Readonly>) => Promise; } export interface EngagementGateOutcome { readonly blockedReason: string | undefined; readonly decision: ReturnType | undefined; readonly graph: EngagementGraph | undefined; readonly record: EngagementActionRecord | undefined; } export declare const evaluateEngagementGate: (ports: EngagementGatePorts, call: ToolCall, actions: readonly EngagementAction[], scopeTarget: string | undefined) => Promise;