import { NodeType, GraphQuery } from '../types'; export interface WhereClause { field: string; operator: '=' | '!=' | 'LIKE' | 'IN' | 'NOT IN' | '>' | '<' | '>=' | '<=' | 'MATCH'; value: any; } export interface JoinClause { table: string; on: string; type?: 'INNER' | 'LEFT' | 'RIGHT'; } export declare class QueryBuilder { private selectClause; private fromClause; private joinClauses; whereClauses: WhereClause[]; private orderByClause; private limitClause?; private offsetClause?; select(fields: string | string[]): this; from(table: string): this; join(table: string, on: string, type?: 'INNER' | 'LEFT' | 'RIGHT'): this; where(field: string, operator: WhereClause['operator'], value: any): this; whereIn(field: string, values: any[]): this; whereEquals(field: string, value: any): this; whereLike(field: string, pattern: string): this; orderBy(field: string, direction?: 'ASC' | 'DESC'): this; limit(count: number): this; offset(count: number): this; build(): string; static create(): QueryBuilder; } export declare class GraphQueryBuilder { static findNodes(query: GraphQuery): string; static findRelationships(query: GraphQuery): string; static findCallers(nodeId: string, maxDepth?: number): string; static findCallees(nodeId: string, maxDepth?: number): string; static findImplementations(interfaceId: string): string; static findExtensions(parentId: string): string; static findReferences(symbolId: string): string; static findDependencies(nodeId: string, direction?: 'inbound' | 'outbound'): string; static searchByName(searchTerm: string, nodeTypes?: NodeType[]): string; static getFileSymbols(filePath: string, repository: string): string; static getRepositoryStats(repository: string): string; } //# sourceMappingURL=QueryBuilder.d.ts.map