import type { AgentIdentity, TrustLevel, BoundaryVerificationResult, SafetyPolicy, TrustWindow, TrustTransition } from './types.js'; interface TrustThresholds { /** Handoffs required before promotion from untrusted to provisional. */ readonly provisionalMinHandoffs: number; /** Minimum pass rate for untrusted -> provisional. */ readonly provisionalMinPassRate: number; /** Handoffs required before promotion from provisional to trusted. */ readonly trustedMinHandoffs: number; /** Minimum pass rate for provisional -> trusted. */ readonly trustedMinPassRate: number; /** Rolling window size for pass rate calculation. */ readonly windowSize: number; /** Pass rate below which trusted is demoted to provisional. */ readonly demotionPassRate: number; } export declare class TrustManager { private agents; private policy; private trustDemotionOnOverride; private thresholds; private sessionOverrides; private sessionDemotions; private windows; private transitions; constructor(policy: SafetyPolicy, opts?: { trustDemotionOnOverride?: boolean; thresholds?: Partial; }); /** Register an agent with its initial identity. */ register(agent: AgentIdentity): void; /** Get an agent's current identity (with updated trust). */ getAgent(agentId: string): AgentIdentity | undefined; /** Get all registered agents. */ getAllAgents(): AgentIdentity[]; /** Get the rolling trust window for an agent. */ getTrustWindow(agentId: string): TrustWindow | undefined; /** Get all trust transitions that occurred during this session. */ getTransitions(): readonly TrustTransition[]; /** * Update trust based on a boundary verification result. * Uses rolling window for pass rate calculation. * Returns the updated trust level, demotion status, and halt signal. */ updateTrust(agentId: string, result: BoundaryVerificationResult): { newTrust: TrustLevel; demoted: boolean; promoted: boolean; shouldHalt: boolean; }; /** * Force-demote an agent (e.g., collusion detected). */ forceDemote(agentId: string, reason: TrustTransition['reason']): TrustLevel; /** Get session-level stats for an agent. */ getSessionStats(agentId: string): { overrides: number; demotions: number; }; private demoteTrust; private computeWindowPassRate; private recordTransition; } export {};