import type { ActionIntent } from '../types/policy.js';
/**
 * Compute the content-addressed request identity for an ActionIntent.
 *
 * Inputs hashed: agentId, action.type, action.scopeRequired, normalized timestamp.
 * Timestamp defaults to intent.createdAt; falls back to current time.
 *
 * Canonicalization follows RFC 8785 JCS strictly, per draft-pidlisnyi-aps-01
 * §4.1: null/undefined-valued keys are preserved (not stripped) so that
 * cross-engine correlation byte-matches against any other strict-JCS
 * implementation (x402 ecosystem, AgentGraph CTEF, Nobulex, etc.).
 *
 * Returns: lowercase hex SHA-256 digest.
 */
export declare function computeActionRef(intent: Pick<ActionIntent, 'agentId' | 'action' | 'createdAt'>): string;
/**
 * Two receipts with the same action_ref describe the same request.
 * Simple equality check — provided as a named predicate so the semantic
 * intent is explicit at the call site.
 */
export declare function actionRefsMatch(a: string, b: string): boolean;
//# sourceMappingURL=action-ref.d.ts.map