import { type CacheDependencyEvictionResult, type CacheEntry, type CacheStorePersistence } from './Cache.ts'; export interface CacheStoreSqliteOptions { dbPath?: string; cacheDirectory?: string; projectRoot?: string; startDirectory?: string; schemaVersion?: number; maxAgeMs?: number; maxRows?: number; preparedStatementCacheMax?: number; structuredIdCacheEnabled?: boolean; debugSessionRoot?: boolean; debugCachePersistence?: boolean; } export type SqliteCheckpointMode = 'PASSIVE' | 'FULL' | 'RESTART' | 'TRUNCATE'; export interface SqliteCacheMaintenanceOptions { checkpoint?: boolean; vacuum?: boolean; checkpointMode?: SqliteCheckpointMode; quickCheck?: boolean; integrityCheck?: boolean; } export interface SqliteHealthCheckResult { executed: boolean; ok: boolean; errors: string[]; durationMs: number; } export interface SqliteCacheMaintenanceResult { dbPath: string; available: boolean; checkpoint: { executed: boolean; mode: SqliteCheckpointMode; busy: number; logFrames: number; checkpointedFrames: number; durationMs: number; }; quickCheck: SqliteHealthCheckResult; integrityCheck: SqliteHealthCheckResult; vacuum: { executed: boolean; durationMs: number; }; } export declare function getDefaultCacheDatabasePath(projectRoot?: string, debugSessionRoot?: boolean, cacheDirectory?: string, startDirectory?: string): string; export declare function getCacheStorePersistence(options?: CacheStoreSqliteOptions): SqliteCacheStorePersistence; export declare function getDefaultCacheStorePersistence(): SqliteCacheStorePersistence; export declare function disposeCacheStorePersistence(options?: { dbPath?: string; cacheDirectory?: string; projectRoot?: string; }): void; export declare function disposeDefaultCacheStorePersistence(): void; export declare function runSqliteCacheMaintenance(options?: { dbPath?: string; cacheDirectory?: string; projectRoot?: string; checkpoint?: boolean; vacuum?: boolean; checkpointMode?: SqliteCheckpointMode; quickCheck?: boolean; integrityCheck?: boolean; }): Promise; export declare class SqliteCacheStorePersistence implements CacheStorePersistence { #private; constructor(options?: CacheStoreSqliteOptions); setDebugCachePersistence(enabled: boolean): void; isAvailable(): boolean; runMaintenance(options?: SqliteCacheMaintenanceOptions): Promise; acquireComputeSlot(nodeKey: string, owner: string, ttlMs?: number): Promise; refreshComputeSlot(nodeKey: string, owner: string, ttlMs?: number): Promise; releaseComputeSlot(nodeKey: string, owner: string): Promise; getComputeSlotOwner(nodeKey: string): Promise; load(nodeKey: string, options?: { skipFingerprintCheck?: boolean; skipLastAccessedUpdate?: boolean; includeValue?: boolean; includeDeps?: boolean; }): Promise; saveWithRevision(nodeKey: string, entry: CacheEntry): Promise; save(nodeKey: string, entry: CacheEntry): Promise; saveWithRevisionGuarded(nodeKey: string, entry: CacheEntry, options: { expectedRevision: number | 'missing'; }): Promise<{ applied: boolean; revision: number; }>; delete(nodeKey: string): Promise; deleteMany(nodeKeys: string[]): Promise; deleteByDependencyPath(dependencyPathKey: string): Promise; deleteByDependencyPaths(dependencyPathKeys: string[]): Promise; listNodeKeysByPrefix(prefix: string): Promise; close(): void; }