import type { AtribRecord, SignerEntry } from './types.js'; /** * Get the Ed25519 public key for a 32-byte private key. */ export declare function getPublicKey(privateKey: Uint8Array): Promise; /** * Sign an attribution record (§1.4.2). * * Step 1: Construct record with all fields except signature. * Step 2: Remove signature, apply JCS → signing input bytes. * Step 3: Ed25519 sign (RFC 8032 §5.1.6, Pure EdDSA). * Step 4: base64url encode the 64-byte signature. */ export declare function signRecord(record: AtribRecord, privateKey: Uint8Array): Promise; /** * Sign a transaction record using the §1.7.6 cross-attestation bytes. * * The returned record carries `signers[]` with this creator's signer entry * first, followed by any caller-supplied counterparty entries that already * signed the same canonical bytes. AP2 receipt JWTs are not valid inputs here: * they prove receipt acceptance, but they do not sign the atrib record bytes. */ export declare function signTransactionRecord(record: AtribRecord, privateKey: Uint8Array, counterpartySigners?: SignerEntry[]): Promise; /** * Create one signer entry over an existing transaction record's §1.7.6 bytes. * * AP2 merchants and settlement parties use this helper when they receive an * atrib transaction record and need to countersign the same canonical bytes. * The returned entry can be appended to `record.signers`; AP2 receipt JWTs * still remain verifier evidence and must not be passed off as this signer. */ export declare function signTransactionAttestation(record: AtribRecord, privateKey: Uint8Array): Promise; /** * Verify an attribution record (§1.4.3). All 8 steps. * Returns true if and only if all steps pass. */ export declare function verifyRecord(record: AtribRecord): Promise; //# sourceMappingURL=signing.d.ts.map