import type { AdjacentEdgeRow, BetterSqlite3Database, ImportEdgeRow, IntraFileCallEdge, NodeRow, RelatedNodeRow } from '../../types.js';
/**
 * Find all callees of a node (outgoing 'calls' edges).
 */
export declare function findCallees(db: BetterSqlite3Database, nodeId: number): RelatedNodeRow[];
/**
 * Find all callers of a node (incoming 'calls' edges).
 */
export declare function findCallers(db: BetterSqlite3Database, nodeId: number): RelatedNodeRow[];
/**
 * Find distinct callers of a node (for impact analysis BFS).
 */
export declare function findDistinctCallers(db: BetterSqlite3Database, nodeId: number): RelatedNodeRow[];
/**
 * Find all outgoing edges with edge kind (for queryNameData).
 */
export declare function findAllOutgoingEdges(db: BetterSqlite3Database, nodeId: number): AdjacentEdgeRow[];
/**
 * Find all incoming edges with edge kind (for queryNameData).
 */
export declare function findAllIncomingEdges(db: BetterSqlite3Database, nodeId: number): AdjacentEdgeRow[];
/**
 * Get distinct callee names for a node, sorted alphabetically.
 */
export declare function findCalleeNames(db: BetterSqlite3Database, nodeId: number): string[];
/**
 * Get distinct caller names for a node, sorted alphabetically.
 */
export declare function findCallerNames(db: BetterSqlite3Database, nodeId: number): string[];
/**
 * Find outgoing import edges (files this node imports).
 */
export declare function findImportTargets(db: BetterSqlite3Database, nodeId: number): ImportEdgeRow[];
/**
 * Find incoming import edges (files that import this node).
 */
export declare function findImportSources(db: BetterSqlite3Database, nodeId: number): ImportEdgeRow[];
/**
 * Find nodes that import a given node (BFS-ready, returns full node info).
 */
export declare function findImportDependents(db: BetterSqlite3Database, nodeId: number): NodeRow[];
/**
 * Get IDs of symbols in a file that are called from other files.
 */
export declare function findCrossFileCallTargets(db: BetterSqlite3Database, file: string): Set<number>;
/**
 * Count callers that are in a different file than the target node.
 */
export declare function countCrossFileCallers(db: BetterSqlite3Database, nodeId: number, file: string): number;
/**
 * Get all ancestor class IDs via extends edges (BFS).
 */
export declare function getClassHierarchy(db: BetterSqlite3Database, classNodeId: number): Set<number>;
/**
 * Find all concrete types that implement a given interface/trait node.
 */
export declare function findImplementors(db: BetterSqlite3Database, nodeId: number): RelatedNodeRow[];
/**
 * Find all interfaces/traits that a given class/struct implements.
 */
export declare function findInterfaces(db: BetterSqlite3Database, nodeId: number): RelatedNodeRow[];
/**
 * Find intra-file call edges (caller → callee within the same file).
 */
export declare function findIntraFileCallEdges(db: BetterSqlite3Database, file: string): IntraFileCallEdge[];
//# sourceMappingURL=edges.d.ts.map