export type TrustRung = 0 | 1 | 2 | 3 | 4;
export declare const RUNG_NAMES: Record<TrustRung, string>;
export interface CapabilityTrust {
    capability: string;
    rung: TrustRung;
    acceptedStreak: number;
    rejectedStreak: number;
    lastUsedAt?: string;
    decayAfterMs: number;
}
export interface TrustLadderSnapshot {
    capabilities: Record<string, CapabilityTrust>;
    updatedAt: string;
}
export declare function loadTrustLadder(projectDir: string): Promise<TrustLadderSnapshot>;
export declare function saveTrustLadder(projectDir: string, snap: TrustLadderSnapshot): Promise<void>;
export declare function getRung(snap: TrustLadderSnapshot, capability: string): TrustRung;
export declare function ensureCapability(snap: TrustLadderSnapshot, capability: string): CapabilityTrust;
export declare function recordOutcome(snap: TrustLadderSnapshot, capability: string, outcome: 'accepted' | 'rejected' | 'used'): {
    promoted?: TrustRung;
    demoted?: TrustRung;
};
export declare function explainRung(rung: TrustRung): string;
/** Decide whether a proposed action may run autonomously right now. */
export declare function canActAutonomously(snap: TrustLadderSnapshot, capability: string): boolean;
/** Decide whether a proposed action requires a typed confirmation token. */
export declare function requiresConfirmation(snap: TrustLadderSnapshot, capability: string): boolean;
//# sourceMappingURL=trustLadder.d.ts.map