import type { ArchivedTask, ArchiveStore } from "../../types.js"; import { type StorageMode } from "./paths.js"; export interface ArchiveStorageOptions { /** Explicit storage path (overrides mode) */ path?: string; /** Storage mode: "in-repo" (default) or "centralized" */ mode?: StorageMode; } /** * Storage for archived (completed) tasks in JSONL format. * Archived tasks are compacted versions that drop context and relationship fields. */ export declare class ArchiveStorage { private storagePath; constructor(options?: string | ArchiveStorageOptions); private get archiveFile(); private ensureDirectory; private sortTasksById; private formatAsJsonl; private cleanupTempFile; /** * Read all archived tasks from archive.jsonl */ readArchive(): ArchiveStore; /** * Write the entire archive store (full replacement) */ writeArchive(store: ArchiveStore): void; /** * Append tasks to the archive (efficient for archiving operations) */ appendArchive(tasks: ArchivedTask[]): void; /** * List archived tasks with optional search filter. * @param query Optional search query to filter by name or result * @returns Filtered or all archived tasks */ list(query?: string): ArchivedTask[]; /** * Search archived tasks by name or result * @deprecated Use list(query) instead */ searchArchive(query: string): ArchivedTask[]; /** * Get a specific archived task by ID */ getArchived(id: string): ArchivedTask | undefined; /** * Remove tasks from archive by ID */ removeArchived(ids: string[]): void; /** * Get storage identifier */ getIdentifier(): string; } //# sourceMappingURL=archive-storage.d.ts.map