import { CatalogEntity } from "../interfaces/graph.catalog.interface"; import { GraphCatalogService } from "./graph.catalog.service"; import { EntityServiceRegistry } from "../../../common/registries/entity.service.registry"; import { UserContext } from "../tools/tool.factory"; import { ScopeGuard } from "./scope.guard"; import { ToolFieldFormatterService } from "./field-formatting"; /** Hard cap per cardinality-many materialised relationship. */ export declare const MATERIALISE_LIMIT = 50; export interface BridgeRecordIn { id: string; /** Already type-converted target-node fields, as returned by ToolFieldFormatterService.build. */ fields: Record; } export interface BridgeRecordOut { id: string; type: string; summary: string; fields: Record; __materialised: string[]; __truncated?: Record; [key: string]: unknown; } export interface MaterialiseBridgeDeps { catalog: GraphCatalogService; registry: EntityServiceRegistry; /** * Optional so pre-existing call sites keep compiling; supplied by every * production call site. Only consulted for a scoped run. */ scopeGuard?: ScopeGuard; /** Stages the materialised targets' fields between list/detail. Required. */ formatter: ToolFieldFormatterService; } export declare function materialiseBridge(params: { bridge: CatalogEntity; record: BridgeRecordIn; ctx: UserContext; deps: MaterialiseBridgeDeps; /** Counter used by the responder to populate trace.materialisedBridges. Optional. */ onMaterialised?: (relName: string, count: number) => void; }): Promise; //# sourceMappingURL=materialise-bridge.d.ts.map