import type { Query, QueryOptions, Update } from '../model'; /** * Builds SQL queries from MongoDB-style query objects for SQLite * Uses json_extract to query JSON document fields */ export declare class SqlQueryBuilder { private tableName; constructor(tableName: string); /** * Build a SELECT query with WHERE, ORDER BY, LIMIT, OFFSET */ buildSelectQuery(query: Query, options?: QueryOptions): { sql: string; params: unknown[]; }; /** * Build an UPDATE query with json_set/json_remove for update operators */ buildUpdateQuery(query: Query, update: Update): { sql: string; params: unknown[]; }; /** * Build a DELETE query */ buildDeleteQuery(query: Query): { sql: string; params: unknown[]; }; /** * Build a COUNT query */ buildCountQuery(query: Query): { sql: string; params: unknown[]; }; /** * Build WHERE clause from MongoDB-style query */ private buildWhereClause; /** * Build condition for a single field */ private buildFieldCondition; /** * Translate MongoDB query operator to SQL */ private translateOperator; /** * Build update expression using json_set/json_remove for operators */ private buildUpdateOperators; /** * Build direct update (no operators) - merge fields into document */ private buildDirectUpdate; /** * Serialize a value for SQL parameter binding * Handles ObjectId, Date, and other special types */ private serializeValue; } //# sourceMappingURL=sql-query-builder.d.ts.map