import type { MethodRegistry } from '@kokuin/token'; import { type SignedRecord, type VerifiedRecordOp } from '@kubun/records'; import type { CatalogVersionPayload, CatalogVersionRef } from '@kubun/store-graph'; export declare const MAX_CATALOG_VERSION_EMBEDDING_DEPTH = 8; export declare const MAX_CATALOG_VERSION_PAYLOAD_BYTES: number; export declare const MAX_CATALOG_VERSION_DECODED_BYTES: number; export type VerifiedCatalogVersion = { record: SignedRecord; op: VerifiedRecordOp; payload: CatalogVersionPayload; }; /** Embedded payload bytes have one portable JSON encoding. */ export declare function encodeCatalogVersionPayload(payload: CatalogVersionPayload): Uint8Array; export declare function catalogVersionID(catalogID: string, payload: CatalogVersionPayload): string; export declare function catalogVersionRecordID(ref: CatalogVersionRef): string; /** Budget the entire decoded chain before performing any signature verification. */ export declare function verifyCatalogVersionChain(record: SignedRecord, methods: MethodRegistry | undefined): Promise | null>; /** * The record's own link of its verified chain: its op is the one the chain * verified, so callers need no second signature check of the same record. */ export declare function verifyCatalogVersionHead(record: SignedRecord, methods: MethodRegistry | undefined): Promise; /** Cryptographic validity is permanent; current signer authority is checked at admission. */ export declare function verifyCatalogVersion(record: SignedRecord, methods: MethodRegistry | undefined): Promise;