/** * StrictDB SQL Adapter * * Wraps core/db/sql.ts. Uses filter-translator.ts to convert * MongoDB-style filters to parameterized SQL. */ import type { DatabaseAdapter } from './adapter.js'; import type { Backend, ConfirmOptions, ConnectionStatus, Driver, LookupOptions, NativeBulkWriteOp, OperationReceipt, QueryOptions, StrictDBConfig, StrictFilter, UpdateOperators } from '../types.js'; import type { StrictDBEventEmitter } from '../events.js'; import { type ExecFn, type TxClient, limitUpdateOne, limitDeleteOne, performUpsert, stripExcludedFields, performLookup } from './sql-helpers.js'; export { type ExecFn, type TxClient, limitUpdateOne, limitDeleteOne, performUpsert, stripExcludedFields, performLookup }; export declare class SqlAdapter implements DatabaseAdapter { readonly backend: Backend; readonly driver: Driver; private config; private dialect; private emitter; private reconnectManager; private connectedAt; constructor(config: StrictDBConfig, emitter: StrictDBEventEmitter); connect(): Promise; close(): Promise; status(): ConnectionStatus; queryOne, TDoc = Record>(collection: string, filter: StrictFilter, options?: QueryOptions): Promise; queryMany, TDoc = Record>(collection: string, filter: StrictFilter, options?: QueryOptions): Promise; queryWithLookup(collection: string, options: LookupOptions): Promise; count(collection: string, filter?: StrictFilter): Promise; insertOne(collection: string, doc: T): Promise; insertMany(collection: string, docs: T[]): Promise; updateOne, TDoc = Record>(collection: string, filter: StrictFilter, update: UpdateOperators, upsert?: boolean): Promise; updateMany, TDoc = Record>(collection: string, filter: StrictFilter, update: UpdateOperators): Promise; deleteOne(collection: string, filter: StrictFilter, _options?: ConfirmOptions): Promise; deleteMany(collection: string, filter: StrictFilter, _options?: ConfirmOptions): Promise; aggregate(collection: string, pipeline: Record[]): Promise; nativeBulkWrite(collection: string, operations: NativeBulkWriteOp[]): Promise<{ insertedCount: number; modifiedCount: number; deletedCount: number; insertedIds?: string[]; upsertedIds?: string[]; }>; withTransaction(fn: (txAdapter: DatabaseAdapter) => Promise): Promise; ensureCollections(definitions: Array<{ name: string; sql?: string; }>): Promise; describeCollection(collection: string): Promise>; getDocumentCount(collection: string): Promise; raw(): unknown; } //# sourceMappingURL=sql-adapter.d.ts.map