/** * JCS (RFC 8785) canonicalization + Ed25519 detached proofs + * multibase base58btc. */ import type { CapabilityDict, CapabilityProof } from './model'; export declare class JcsCanonError extends Error { constructor(message: string); } export declare class ProofVerificationError extends Error { constructor(message: string); } /** * RFC 8785 canonical JSON serialization. * * Rules: * * Keys sorted by UTF-16 code-unit order (which equals Unicode for * BMP characters โ€” what we use). * * No insignificant whitespace. * * Numbers per ECMAScript ToString (integers only โ€” float * canonicalization is intentionally refused). * * Strings: minimal escaping per JSON. * * UTF-8 output. */ export declare function canonicalizeJcs(value: unknown): Uint8Array; /** * Produce a proof block for a capability. Capability dict MUST NOT * already contain a `proof` field (caller strips it). * * The returned dict is what the caller assigns to `capability.proof`. */ export declare function signCapability({ capabilityDict, privateKeyBytes, verificationMethod, proofPurpose, created, }: { capabilityDict: Omit | Record; privateKeyBytes: Uint8Array; verificationMethod: string; proofPurpose?: string; created?: string; }): CapabilityProof; /** * Verify the proof binds the public key to the canonical capability. * * Throws `ProofVerificationError` on any failure โ€” callers map to * `cap-invalid` per spec ยง grant-access problem reports. */ export declare function verifyProof({ capabilityDict, proof, publicKeyBytes, }: { capabilityDict: CapabilityDict | Record; proof: CapabilityProof; publicKeyBytes: Uint8Array; }): void; export declare function multibaseBase58btc(bytes: Uint8Array): string; export declare function multibaseBase58btcDecode(s: string): Uint8Array;