import type { ClientRegistry } from "../../../core/ports/config.port.js"; import { type ModuleView } from "../index/python/hierarchy.js"; /** A type name together with the module whose imports resolve it. */ export type ResolvedType = { readonly name: string; readonly view: ModuleView; }; export type RegistryIndex = { /** The type a receiver written as a declared container access resolves to. */ typeOf(receiverText: string): ResolvedType | null; }; export type RegistryRequest = { readonly registries: readonly ClientRegistry[]; readonly modules: ReadonlyMap; readonly sourcePaths: readonly string[]; }; /** * Resolves `.` against the container the configuration * declares. The container's own declaration binds each attribute to a type, so * the receiver's identity is read rather than inferred from a value that flows. */ export declare function clientRegistryIndex(request: RegistryRequest): RegistryIndex;