/** * Construction-time validation + catalog build. * * `validateConfig(cfg)` is the gate. It throws `Panic` on every shape * problem the bot author can introduce โ€” a misconfigured payments * plugin should scream at startup, not silently misbehave at runtime * (see `src/offensive.ts` and CLAUDE.md ยง"Failure modes"). * * `buildCatalog(cfg)` produces the normalized `ProductCatalog` the rest * of the plugin consults (positional ids resolved, polyglots passed * through, O(1) lookup by ProductKey). * * Both are pure โ€” no gramio, no storage, no side effects. */ import { type BotPaymentsConfig, type ProductCatalog } from "./types.js"; /** * Validates the config and returns the **locales set** that the plugin * will use for cross-checking other Polyglots. Derived from * `waiver.text` (the single mandatory Polyglot) โ€” every other Polyglot * in the config must cover the same locales. * * Throws `Panic` on any structural problem. */ export declare const validateConfig: (cfg: BotPaymentsConfig) => ReadonlySet; /** * Materialize the validated config into the runtime catalog. Assumes * `validateConfig(cfg)` has already been called and passed. */ export declare const buildCatalog: (cfg: BotPaymentsConfig) => ProductCatalog; //# sourceMappingURL=config.d.ts.map