/** * Base abstractions for chain-aware domain clients * (discovery, identity, ENS, reputation). * * Each concrete singleton wraps an instance of this base class. */ export type DomainClientType = 'discovery' | 'identity' | 'ens' | 'reputation' | 'validation' | 'association'; /** * Generic base class for domain-specific clients. * * - TClient: the underlying client type (e.g. AIAgentDiscoveryClient) * - TKey: key type used to distinguish instances (e.g. chainId or 'global') */ export declare abstract class DomainClient { readonly type: DomainClientType; protected instances: Map; protected initPromises: Map>; constructor(type: DomainClientType); /** * Concrete subclasses must implement client construction for a given key. * The optional initArg can be used to pass through configuration overrides. */ protected abstract buildClient(key: TKey, initArg?: unknown): Promise; /** * Get or create a client for a given key. * Handles memoization and in‑flight initialization tracking. */ get(key: TKey, initArg?: unknown): Promise; isInitialized(key: TKey): boolean; /** * Reset one or all instances (useful for testing). */ reset(key?: TKey): void; } //# sourceMappingURL=domainClient.d.ts.map