/** * Enable the credential-broker capability (#479, spec §5). * * Pass to `createNoydb({ brokerStrategy: withBroker(config) })` to make * `vault.broker()` live. Each method dynamic-imports the seed lifecycle * engine (`./seed.js`) — mirroring `via/classified/active.ts`'s per-method * dynamic-import seam — so `with-party/broker/seed.ts` (the heavy module: * the CAS enrol, quiesce-then-swap rotate, and the challenge/response round * trip) is reachable only through the `@noy-db/hub/broker` subpath and * never enters the single-user floor bundle. * * The single-flight, per-vault-per-profile refresh cache (H-6/I6) lives * HERE, in this factory's closure — shared across every `credentialSource(profile)` * call for this one broker instance (in turn shared across every vault of a * `createNoydb()` instance — `vault.broker()` passes the SAME `BrokerStrategy` * for all of them), so `rotate()` can quiesce it (await any in-flight * round-trip, then drop it) before the seed swap. The cache key is * `${vault}\0${profile}` — keyed by vault FIRST, or two vaults sharing this * one strategy would collide and hand vault-B a cached credential minted * (and STS-scoped) for vault-A. */ import type { BrokerStrategy, BrokerConfig } from '../../port/with/broker-strategy.js'; export declare function withBroker(config: BrokerConfig): BrokerStrategy;