import { type ScannerProvider } from "../providers/provider"; import type { ConversationMeta, ConversationPage, GetConversationPageOptions, Profile, ScanOptions, SearchHighlight } from "../types"; import { type FileChange } from "./cursor"; import { type DB } from "./db"; import { CheckpointsRepo } from "./repositories/checkpoints.repo"; import { ConversationFilesRepo } from "./repositories/conversation-files.repo"; import { ConversationsRepo } from "./repositories/conversations.repo"; import { FtsRepo, type FtsSearchFilters } from "./repositories/fts.repo"; import { ScannedDirsRepo } from "./repositories/scanned-dirs.repo"; export interface EngineSearchHit { meta: ConversationMeta; body: { snippet: string; highlights: SearchHighlight[]; } | null; } export declare class PersistentEngine { readonly db: DB; readonly files: ConversationFilesRepo; readonly conversations: ConversationsRepo; readonly fts: FtsRepo; readonly checkpoints: CheckpointsRepo; readonly scannedDirs: ScannedDirsRepo; private readonly sidecar; private scanCount; private readonly checkpointBuilds; constructor(dbPath: string, options?: { sidecar?: boolean; }); close(): void; indexAll(activeProfiles: Profile[], options: ScanOptions): Promise<{ scanned: number; }>; indexFile(rawFilePath: string, account: string, tierName: string, customTiers: ScanOptions["tiers"], resolveGitBranch: (projectPath: string) => string | null, force?: boolean, provider?: ScannerProvider): Promise<{ meta: ConversationMeta | null; change: FileChange; }>; private indexFileWithProvider; private markDeleted; allActive(): ConversationMeta[]; getByIdOrSession(id: string): ConversationMeta | null; getAllBySessionId(sessionId: string): ConversationMeta[]; searchHits(query: string, limit: number, filters?: FtsSearchFilters): EngineSearchHit[]; recentMetas(limit: number): ConversationMeta[]; getProjects(): string[]; getPage(id: string, options: GetConversationPageOptions): Promise; private ensureCheckpoints; } //# sourceMappingURL=index-engine.d.ts.map