import type { HybridTimestamp } from '../../types/time.js'; import type { AgentDID, AttributionReceipt, ContextID, PrincipalDID } from './types.js'; /** The canonical unsigned core of a receipt. Both citer and cited principal * sign exactly this payload, and the receipt id is sha256(core). */ type ReceiptCoreInput = AttributionReceipt | Omit; export declare function receiptCore(receipt: ReceiptCoreInput): string; /** Write-boundary twin of receiptCore(). * * Shares one implementation body with receiptCore() so the two can never drift apart * on the field list. Emits the same bytes for every value it accepts; the only * difference is that an integer-valued number outside the interoperable IEEE 754 * range is refused instead of serialized. Use at signing and new-write boundaries * ONLY: receiptCore() stays unrestricted so an artifact signed before this rule keeps * verifying. */ export declare function receiptCoreForWrite(receipt: ReceiptCoreInput): string; export interface CreateAttributionReceiptParams { citer: AgentDID; citer_public_key: string; citer_private_key: string; cited_principal: PrincipalDID; cited_principal_public_key: string; citation_content: string; binding_context: ContextID; created_at: HybridTimestamp; expires_at: HybridTimestamp; } /** Build an AttributionReceipt signed by the citer. The cited principal's * consent signature is still absent — verifyAttributionConsent() will * reject this receipt until signAttributionConsent() runs. */ export declare function createAttributionReceipt(params: CreateAttributionReceiptParams): AttributionReceipt; export {}; //# sourceMappingURL=create.d.ts.map