import type { AttributionConsentResult, AttributionReceipt, CitingArtifact } from './types.js';
/** Verify an AttributionReceipt end-to-end:
 *   - id matches the canonical core hash
 *   - citer_signature verifies against citer_public_key
 *   - cited_principal_signature present and verifies against cited_principal_public_key
 *   - receipt not expired (wall-clock comparison)
 *   - created_at is not after expires_at
 *
 *  The optional `now` HybridTimestamp lets callers pin the evaluation
 *  moment (tests, replayed audits). Defaults to a freshly issued stamp
 *  on a synthetic 'verifier' gateway. */
export declare function verifyAttributionConsent(receipt: AttributionReceipt, now?: {
    wallClockEarliest: number;
    wallClockLatest: number;
    logicalTime: number;
    gatewayId: string;
}): AttributionConsentResult;
/** Gate an artifact's citations. Each artifact.citations[] entry must
 *  have a matching receipt (by id) whose content + principal match the
 *  referenced citation, which verifies end-to-end, and whose
 *  binding_context matches the artifact's binding context id.
 *
 *  Replay protection: a single receipt id may appear at most once in
 *  artifact.citations — reusing a receipt for two different citation
 *  slots is rejected. */
export declare function checkArtifactCitations(artifact: CitingArtifact, receipts: AttributionReceipt[], opts?: {
    binding_context?: string;
    now?: Parameters<typeof verifyAttributionConsent>[1];
}): AttributionConsentResult;
//# sourceMappingURL=verify.d.ts.map