/** * Issuer registry lookup via bundled handlers (DCC legacy, OIDF, VC recognition). * Includes DID-level result caching with short-circuit and fresh-lookup options. */ import type { LookupIssuers } from '../types/registry.js'; import type { Verifier } from '../types/verifier.js'; import type { CacheService } from './cache-service/cache-service.js'; import type { HttpGetService } from './http-get-service/http-get-service.js'; import type { RegistryHandlerMap } from './registry-handlers/types.js'; /** * Build a {@link LookupIssuers} using `httpGetService`, `cacheService`, * optional per-type `handlers`, and an optional `getVerifier` thunk. * * The `getVerifier` thunk is called per handler invocation to obtain * the parent {@link Verifier}, which is threaded through to handlers * via {@link RegistryHandlerContext} — required by the `vc-recognition` * handler so it can recursively verify the recognition credential. The * thunk indirection resolves the chicken-and-egg between * `createVerifier` (needs `lookupIssuers` for context) and * `createRegistryLookup` (wants the verifier for handlers): the verifier * is forward-declared in `createVerifier` and the thunk closes over the * mutable reference. * * If not provided, vc-recognition lookups will throw a clear error when * invoked. `dcc-legacy` and `oidf` handlers do not use the verifier and * work fine without one. * * The returned function caches lookup results at the DID level, using a * cache key that incorporates the DID and a canonicalized hash of the * registries array. * * Options: * - `fresh: true` — bypass the DID-level result cache (but underlying data caches still apply) * - `exhaustive: true` — check all registries even after finding a match (default: short-circuit on first found) */ export declare function createRegistryLookup(httpGetService: HttpGetService, cacheService: CacheService, handlers?: RegistryHandlerMap, getVerifier?: () => Verifier): LookupIssuers; //# sourceMappingURL=registry-lookup.d.ts.map