import type { ActionReceipt } from '../types/passport.js';
import type { Obligation, ObligationResolution, FulfillmentReceipt } from '../types/obligations.js';
export interface ObligationMonitorConfig {
    gatewayId: string;
    gatewayPublicKey: string;
    gatewayPrivateKey: string;
    onFulfilled?: (receipt: FulfillmentReceipt) => void;
    onResolved?: (resolution: ObligationResolution) => void;
    onPenalty?: (obligation: Obligation, resolution: ObligationResolution) => void;
    onRecurrenceCreated?: (obligation: Obligation) => void;
}
export declare class ObligationMonitor {
    private config;
    private activeObligations;
    private agentObligations;
    private deadlineTimers;
    private failedAttempts;
    constructor(config: ObligationMonitorConfig);
    registerObligation(obligation: Obligation): void;
    private scheduleDeadlineCheck;
    onReceiptProduced(agentId: string, receipt: ActionReceipt): FulfillmentReceipt | null;
    onToolFailure(agentId: string, toolName: string, errorCode: string): void;
    private matchEvidence;
    private checkParamConstraint;
    private fulfillObligation;
    private evaluateObligation;
    terminateByRevocation(delegationId: string): ObligationResolution[];
    private createResolution;
    private handleRecurrence;
    private computeNextDeadline;
    private removeObligation;
    getStats(): {
        activeObligations: number;
        agentsWithObligations: number;
        pendingTimers: number;
    };
    shutdown(): void;
}
//# sourceMappingURL=obligation-monitor.d.ts.map