/**
 * Nexus SQLite Recursive CTE Query Operations - Contract Layer
 *
 * Defines types for parameterized CTE execution against nexus.db.
 * Contracts for the query DSL and template alias system.
 *
 * @task T1057
 * @epic T1042
 */
/**
 * Result of a recursive CTE query against nexus.db.
 * Returns rows as generic Record[] and metadata about the query.
 */
export interface NexusCteResult {
    /**
     * Whether the query executed successfully.
     */
    success: boolean;
    /**
     * Query result rows. Empty array if no results.
     */
    rows: Array<Record<string, unknown>>;
    /**
     * Total number of rows returned.
     */
    row_count: number;
    /**
     * Query execution time in milliseconds.
     */
    execution_time_ms: number;
    /**
     * If success is false, error message describing the parse/execution failure.
     * e.g. "CTE syntax error: ...", "Parameter mismatch: ..."
     */
    error?: string;
}
/**
 * Parameters for CTE execution.
 * Supports positional (?) and named (:name) parameter binding.
 */
export type NexusCteParams = (string | number | null)[];
/**
 * Named template alias for common CTE patterns.
 * Compiles to parameterized CTE before execution.
 */
export type NexusCteAlias = 'callers-of' | 'callees-of' | 'co-changed' | 'co-cited' | 'path-between' | 'community-members';
/**
 * Represents a compiled CTE template ready for execution.
 * Internal: generated by compileCteAlias().
 */
export interface NexusCtePlaceholder {
    /**
     * The CTE SQL string with parameter placeholders.
     */
    cte: string;
    /**
     * Human-readable description of what this CTE queries.
     */
    description: string;
    /**
     * Expected parameter count for this template.
     */
    paramCount: number;
    /**
     * Parameter names for documentation.
     */
    paramNames: string[];
}
/**
 * Formatted markdown table of query results.
 */
export interface NexusCteMarkdownTable {
    /**
     * Markdown-formatted table string.
     */
    markdown: string;
    /**
     * Number of rows in the table.
     */
    row_count: number;
}
//# sourceMappingURL=nexus-query-ops.d.ts.map