import { FoundryPage } from "../types/index.js"; import { SystemStateAdapter } from "./base.js"; type SystemStateAdapterFactory = (page?: FoundryPage) => SystemStateAdapter; /** * Registers a `SystemStateAdapter` factory for a system ID, so * {@link getSystemStateAdapter} can resolve it. Mirrors the * `registerUIAdapter` pattern in `src/ui/index.ts`. * * Use this to add support for a system that doesn't have first-class * `dnd5e`/`pf2e`-level support in this library, instead of relying on * (or working around) the dnd5e-shaped defaults. */ export declare function registerSystemStateAdapter(id: string, factory: SystemStateAdapterFactory): void; /** * Gets a system state adapter by its ID. * * Throws for unregistered system IDs rather than silently falling back * to the dnd5e adapter — using dnd5e-shaped test data (currency paths, * HP paths, actor type) against a system with a different data schema * produces actors/updates that are silently wrong, not just untested. * Register an adapter for the system first via * {@link registerSystemStateAdapter}, or use `dnd5e`/`pf2e` directly. */ export declare function getSystemStateAdapter(id: string, page?: FoundryPage): SystemStateAdapter; /** * Initializes all known system adapters to register their deprecation patterns. */ export declare function initAllSystems(page: FoundryPage): void; export * from "./base.js"; export * from "./dnd5e.js"; export * from "./pf2e.js";