import type { DatabaseSync } from "node:sqlite"; import type { Context } from "@/types"; import type { ProcessDbRecord, ProcessOwnerDbRecord } from "./databaseTypes.js"; export type ProcessesFindManyOptions = { ownerId?: string; ownerType?: ProcessOwnerDbRecord["type"]; }; type ProcessesFindAllOptions = ProcessesFindManyOptions & { userId?: string; }; /** * Processes repository backed by SQLite with write-through caching. * Expects: schema migrations already applied for processes. */ export declare class ProcessesRepository { private readonly db; private readonly recordsById; private readonly recordLocks; private readonly cacheLock; private readonly createLock; private allRecordsLoaded; constructor(db: DatabaseSync); create(record: ProcessDbRecord): Promise; findById(id: string): Promise; findMany(ctx: Context, options?: ProcessesFindManyOptions): Promise; findAll(options?: ProcessesFindAllOptions): Promise; update(id: string, data: Partial): Promise; delete(id: string): Promise; deleteByOwner(ownerType: ProcessOwnerDbRecord["type"], ownerId: string): Promise; private processesFilter; private recordLoadById; private recordParse; private recordCacheSet; private recordLockForId; } export {}; //# sourceMappingURL=processesRepository.d.ts.map