import { Graph } from '../../../algorithms/graph/graph'; import { Path } from '../../../algorithms/types/algorithm-results'; import { Edge, Node } from '../../../algorithms/types/graph'; import { PlantedPathConfig } from './path-generator'; /** * Extended configuration for heterogeneous graphs. */ export interface HeterogeneousPathConfig extends PlantedPathConfig { /** Path template specifying node types along path */ pathTemplate: string[]; /** Entity types in the graph */ entityTypes: string[]; } /** * Plant paths in heterogeneous graphs respecting entity type constraints. * * Ensures planted paths follow a type pattern (e.g., Work → Author → Work → Institution). * * @template N - Node type * @template E - Edge type * @param graph - Heterogeneous graph * @param pathTemplate - Template specifying node types along path * @param config - Planting configuration * @returns Graph with planted heterogeneous paths */ export declare const plantHeterogeneousPaths: (graph: Graph, pathTemplate: string[], config: HeterogeneousPathConfig) => import('./path-generator').PlantedPathResult; /** * Filter nodes by entity type. * @param nodes * @param entityType */ export declare const filterNodesByType: (nodes: N[], entityType: string) => N[]; /** * Check if a path follows a type template. * @param path * @param template */ export declare const pathFollowsTemplate: (path: Path, template: string[]) => boolean; //# sourceMappingURL=heterogeneous-planting.d.ts.map