import type { PainIngressDecision } from '@principles/host-runtime'; import type { PainEvidenceEntry } from '@principles/core/runtime-v2'; import type { WorkspaceContext } from '../core/workspace-context.js'; export interface PluginIngressInput { wctx: WorkspaceContext; painId: string; painType: 'tool_failure' | 'subagent_error' | 'user_frustration'; source: string; reason: string; score?: number; sessionId?: string; /** Evidence the emitter itself produced (signal-collector excerpt, correction-sample diff, shared-runtime metadata). */ inlineEvidence?: readonly PainEvidenceEntry[]; } /** * Evaluate one plugin pain funnel event through the shared ingress. * Pure except for the trajectory read (typed acquisition). */ export declare function ingressDecisionForPluginPain(input: PluginIngressInput): PainIngressDecision;