import type { AbstractHyperedge } from './abstract-hyperedge.js'; interface HyperedgeLike { comprehensive?: { source?: string | null; id?: string | null; } | null; members?: ReadonlyArray<{ ref?: { source?: string | null; id?: string | null; } | null; }>; } export declare class HyperedgeIndex { private readonly _byComprehensive; private readonly _byMember; constructor(hyperedges?: ReadonlyArray); forComprehensive(qualifiedId: string): HyperedgeLike[]; forMember(qualifiedId: string): HyperedgeLike[]; comprehensives(): string[]; members(): string[]; get size(): number; } /** * Build a HyperedgeIndex across multiple Concepts' relations arrays * (a dataset-wide view). Each Concept contributes its own .relations. * Helper for the most common pattern: index once at collection load, * query many times. */ export declare function buildDatasetIndex(concepts?: ReadonlyArray<{ relations?: ReadonlyArray; }>): HyperedgeIndex; export {}; //# sourceMappingURL=hyperedge-index.d.ts.map