import type { MetaData } from "@metaobjectsdev/metadata"; import { type LoadedModel } from "./load.js"; export interface DocNode { kind: "object" | "prompt" | "output"; name: string; pkg: string; pkgPath: string; href: string; node: MetaData; tree: string; } export interface Ref { from: string; to: string; via: string; kind: "field" | "fk" | "extends" | "payload" | "response" | "relationship" | "origin"; cardinality?: "one" | "many" | undefined; through?: string | undefined; sourceJoinField?: string | undefined; targetJoinField?: string | undefined; symmetric?: boolean | undefined; onDelete?: string | undefined; subtype?: string | undefined; } export interface OriginRef { field: string; from: string; via: string; } export declare function pkgOf(node: MetaData): string; export declare function fqnOf(node: MetaData): string; export declare class LinkGraph { private _nodes; private _from; private _to; private _extBy; private _origins; constructor(model: LoadedModel); nodes(): DocNode[]; byFqn(fqn: string): DocNode | undefined; refsFrom(fqn: string): Ref[]; refsTo(fqn: string): Ref[]; degree(fqn: string): number; extendedBy(fqn: string): DocNode[]; originsOf(fqn: string): OriginRef[]; ancestors(fqn: string): DocNode[]; relationshipsOf(fqn: string): { name: string; toFqn: string; cardinality: string; }[]; relHref(fromHref: string, toHref: string): string; } //# sourceMappingURL=link-graph.d.ts.map