import { RegistryKind, Token } from '@frontmcp/sdk'; import ProviderRegistry from '../provider/provider.registry'; export type RegistryBuildMapResult = { tokens: Set; defs: Map; graph: Map>; }; export declare abstract class RegistryAbstract { protected asyncTimeoutMs: 30000; ready: Promise; protected providers: ProviderRegistryType; protected list: MetadataType; /** All tokens that are provided (graph nodes) */ protected tokens: Set; /** Record definition by token */ protected defs: Map; /** Dependency graph by token */ protected graph: Map>; /** All apps that are provided (graph nodes) */ protected readonly instances: Map, Interface>; protected constructor(name: RegistryKind, providers: ProviderRegistryType, metadata: MetadataType, auto?: boolean); protected abstract buildMap(list: MetadataType): RegistryBuildMapResult; protected abstract buildGraph(): void; protected abstract initialize(): Promise; }