import { StorageStrategy, QueryMatcher } from './storage-strategy'; export interface WiredTigerStorageOptions { dataPath: string; modelName: string; cacheSize?: string; compressor?: 'snappy' | 'lz4' | 'zstd' | 'zlib' | 'none'; } export declare class WiredTigerStorageStrategy implements StorageStrategy { private _data; private _connection; private _session; private _cursor; private _dataPath; private _modelName; private _tableName; private _cacheSize; private _compressor; private _getDocId; private _queryIndexes; private _initialized; private _initPromise; private _pendingIndexes; private _computeIndexKey; constructor(options: WiredTigerStorageOptions); initialize(): Promise; private _loadAllDocuments; getAll(): Promise; add(doc: T): Promise; addMany(docs: T[]): Promise; update(oldDoc: T, newDoc: T): Promise; remove(doc: T): Promise; removeMany(docs: T[]): Promise; clear(): Promise; drop(): Promise; createIndex(fields: keyof T | Array, options?: { unique?: boolean; }): Promise; rebuildIndexes(): Promise; updateIndexForDocument(oldDoc: T | null, newDoc: T | null, keySources?: { old?: Partial; new?: Partial; }): void; checkUniqueConstraints(doc: Partial, excludeDoc?: T): void; findDocuments(matcher: QueryMatcher, indexHint?: { fields: Array; values: Record; }): Promise; flush(): Promise; /** * Record schema information in the _schema table * This is called automatically when a model is initialized */ recordSchema(schemaData: { modelName: string; version: string; definition: Record; indexes: Array<{ fields: string[]; unique: boolean; }>; options: Record; }): Promise; /** * Retrieve schema information for a model */ getSchema(modelName: string): Promise<{ modelName: string; version: string; definition: Record; indexes: Array<{ fields: string[]; unique: boolean; }>; options: Record; createdAt: Date; updatedAt: Date; } | null>; close(): void; } //# sourceMappingURL=wiredtiger-strategy.d.ts.map