import type { AuthorityChainVerificationOptions, AuthorityValidationResult } from './types.js'; /** * Full root-to-leaf structural, cryptographic, temporal, and revocation validation. * * Each chain member is snapshotted to plain JSON data (see plain-data.ts) before any * other read of it, and every later read in this function comes from that snapshot, * never from the caller's original chain member: the strings passed to * `options.resolveVerificationKey` are read from it, and `options.trustRoot` and * `options.resolveRevocation` are each handed a fresh copy of it. * * `options.trustRoot` is handed a copy, not the snapshot itself, because this function * reads that snapshot again after the callback returns: the child-to-parent linkage * loop, with its continuity, issuance-time and attenuation checks, and then the * validity and revocation checks on every member, all run after it. The root's own * null-parent check and the duplicate-identifier check run before it. A trust callback that wrote to what it was given would * otherwise change what those checks see, and a chain that widens its parent's authority * would verify valid. `options.resolveRevocation` is handed a copy for the same reason * rather than from the same need: it is called last, after every other check of that * member, so a write there changes nothing this function still reads. The child issuer * is where a revocation callback's write does reach later checks, and it copies too. * What a callback does to its own copy changes nothing in either place. * * The four members of `options` are read once each, immediately after the chain * container check, so a caller object whose property is a getter cannot answer one way * when a value is checked and another way when it is used. A container that fails that * check returns before any of them is read. A getter that throws leaves that member * undefined, which gives the same coded result an unusable one gives. This function * never throws. */ export declare function verifyAuthorityDelegationChain(rawChain: readonly unknown[], options: AuthorityChainVerificationOptions): AuthorityValidationResult; export declare function verifyAuthorityDelegation(delegation: unknown, options: AuthorityChainVerificationOptions): AuthorityValidationResult; //# sourceMappingURL=verify.d.ts.map