import type { Obligation, ObligationAction, EvidenceRequirement, PenaltySpec, ObligationBundle, FulfillmentReceipt, ObligationResolution, ObligationOutcome } from '../types/obligations.js';
export declare function createObligation(opts: {
    delegationId: string;
    obligorAgentId: string;
    obligorPublicKey: string;
    action: ObligationAction;
    deadline: string;
    evidence: EvidenceRequirement;
    penalty: PenaltySpec;
    survivesTermination?: boolean;
    survivalWindow?: string;
    principalPrivateKey: string;
    principalPublicKey: string;
}): Obligation;
export declare function createObligationBundle(opts: {
    delegationId: string;
    obligations: Obligation[];
    principalPublicKey: string;
    principalPrivateKey: string;
}): ObligationBundle;
export declare function acceptObligationBundle(opts: {
    bundle: ObligationBundle;
    agentId: string;
    agentPrivateKey: string;
    agentPublicKey: string;
}): {
    accepted: boolean;
    acceptanceSignature: string;
    obligations: Obligation[];
};
export declare function checkFulfillment(evidence: EvidenceRequirement, receipts: Array<{
    receiptId: string;
    action: {
        type: string;
        scopeUsed?: string;
    };
    params?: Record<string, unknown>;
    timestamp: string;
    toolError?: string;
}>): {
    fulfilled: boolean;
    matchingReceiptId?: string;
};
export declare function resolveObligation(opts: {
    obligation: Obligation;
    receipts: Array<{
        receiptId: string;
        action: {
            type: string;
            scopeUsed?: string;
        };
        params?: Record<string, unknown>;
        timestamp: string;
        toolError?: string;
    }>;
    failedReceipts?: Array<{
        receiptId: string;
        action: {
            type: string;
            scopeUsed?: string;
        };
        timestamp: string;
        toolError: string;
    }>;
    delegationRevoked?: boolean;
    delegationExpired?: boolean;
    escalationPending?: boolean;
    escalationId?: string;
    gatewayId: string;
    gatewayPrivateKey: string;
}): ObligationResolution;
export declare function createFulfillmentReceipt(opts: {
    obligation: Obligation;
    matchingReceiptId: string;
    gatewayId: string;
    gatewayPrivateKey: string;
}): FulfillmentReceipt;
export declare function scheduleNextRecurrence(opts: {
    obligation: Obligation;
    previousOutcome: ObligationOutcome;
    principalPrivateKey: string;
    principalPublicKey: string;
}): Obligation | null;
export declare function validateObligationConstraints(obligations: Obligation[], delegationScope?: string[]): {
    valid: boolean;
    errors: string[];
};
export declare function validatePenaltySeverity(parentPenalty: PenaltySpec, childPenalty: PenaltySpec): {
    valid: boolean;
    error?: string;
};
//# sourceMappingURL=obligations.d.ts.map