import type { TaskStore } from "../../types.js"; import type { StorageEngine } from "./engine.js"; import type { ArchiveConfig } from "../config.js"; import { type StorageMode } from "./paths.js"; export interface JsonlStorageOptions { /** Explicit storage path (overrides mode) */ path?: string; /** Storage mode: "in-repo" (default) or "centralized" */ mode?: StorageMode; /** Archive configuration for auto-archiving */ archiveConfig?: ArchiveConfig; } export declare class JsonlStorage implements StorageEngine { private storagePath; private archiveConfig?; constructor(options?: string | JsonlStorageOptions); private get tasksFile(); private get legacyTasksDir(); private ensureDirectory; private sortTasksById; private formatAsJsonl; /** * Migrate from file-per-task format (tasks/*.json) to JSONL format. * Only runs if tasks.jsonl doesn't exist and tasks/ directory does. * Backs up the old tasks/ directory to tasks.bak. */ private migrateFromFilePerTask; read(): TaskStore; write(store: TaskStore): void; private cleanupTempFile; getIdentifier(): string; /** * Async read implementation (wraps synchronous read) */ readAsync(): Promise; /** * Async write implementation (wraps synchronous write). * Also performs auto-archiving if enabled. */ writeAsync(store: TaskStore): Promise; /** * JSONL storage supports synchronous operations */ isSync(): boolean; } //# sourceMappingURL=jsonl-storage.d.ts.map