/** Minimal constraint: every provider must expose a stable string id. */ export interface Identifiable { readonly id: string; } /** * Generic, type-safe provider registry used by Swap, DCA, and Lending modules. * * Handles registration, default selection, lookup, and listing — the logic * that was previously duplicated across three separate implementations. */ export declare class ProviderRegistry { private readonly domain; private readonly providers; private defaultId; constructor(domain: string); /** Register a provider. Optionally make it the default. */ register(provider: T, makeDefault?: boolean): void; /** Set the default provider by id. Throws if the id is not registered. */ setDefault(id: string): void; /** Look up a provider by id. Throws if not found. */ get(id: string): T; /** Return the default provider. Throws if none is configured. */ getDefault(): T; /** List all registered provider ids. */ list(): string[]; } //# sourceMappingURL=registry.d.ts.map