import type { NervusDB } from '@nervusdb/core'; import { type QueryResult } from './queryBuilder.js'; export interface QueryExecutorOptions { maxLimit?: number; defaultLimit?: number; } /** * Executes queries against NervusDB with validation and logging */ export declare class QueryExecutor { private readonly options; constructor(options?: QueryExecutorOptions); /** * Execute a query request (typed or raw) */ execute(db: NervusDB, request: unknown): Promise; /** * Execute a typed query using NervusDB's find API */ private executeTypedQuery; /** * Extract node summary from a value * * Converts large node objects (with AST, source code) to compact summaries * containing only essential metadata. This prevents token limit errors when * returning query results via MCP. * * @param value - The value to extract summary from * @returns Node summary object if value is a node, undefined otherwise */ private extractNodeSummary; /** * Execute a raw Cypher query */ private executeRawQuery; }