import { type CommandStore } from "./command-store.js"; import { type InteractionStore } from "./interactions.js"; import { JournalManager, type JournalProjectionSlot } from "./journal-manager.js"; import type { JournalManagerOptions } from "./journal-manager-lifecycle.js"; import { type OperatorDecisionStore } from "./operator-decisions.js"; import type { ProjectStore } from "./projects.js"; import { type RunEventStore } from "./run-events.js"; import { type ThreadHeadPingSink, type ThreadStore } from "./threads.js"; export interface ProjectPartitionEntry { manager: JournalManager; commands: JournalProjectionSlot; interactions: JournalProjectionSlot; decisions: JournalProjectionSlot; runEvents: JournalProjectionSlot; threads: JournalProjectionSlot; } export interface ProjectPartitionPreparationEntry { projectId: string; partition: string; status: "ready" | "recovery_required"; virtual: boolean; fingerprint: string; manager: JournalManager; } export interface ProjectPartitionsPreparation { coverage: "complete" | "global_registry_unavailable"; fingerprint: string | null; registeredProjectIds: string[]; trustedProjectRoots: string[]; partitions: ProjectPartitionPreparationEntry[]; readyPartitions: string[]; recoveryRequiredPartitions: string[]; } export interface PreparedProjectPartitions { receipt: ProjectPartitionsPreparation; entries: Map; } export declare class ProjectPartitionCollection extends Map { private readonly rootDir; private readonly projects; private readonly headPing?; private readonly requestMaintenance?; constructor(rootDir: string, projects: JournalProjectionSlot, headPing?: ThreadHeadPingSink | undefined, requestMaintenance?: JournalManagerOptions["requestMaintenance"]); sync(): void; ensure(projectId: string): ProjectPartitionEntry; healthy(): ProjectPartitionEntry[]; healthyRoots(): string[]; } export declare function prepareProjectPartitions(input: { rootDir: string; projects: JournalProjectionSlot; headPing?: ThreadHeadPingSink; requestMaintenance?: JournalManagerOptions["requestMaintenance"]; }): PreparedProjectPartitions; /** * Live re-verdict for the in-process reopen (C6): recompute the stage-2 * receipt from CURRENT partition state. A partition the operator quarantined * over the recovery route was reopened by its manager (openGeneration) and * now inspects ready; a registry that became readable after a global reopen * restores coverage. Read-only for everything still prepared — a registered * project without an entry gets a read-only prepare, never a write. */ export declare function refreshProjectPartitionsPreparation(input: { rootDir: string; projects: JournalProjectionSlot; headPing?: ThreadHeadPingSink; requestMaintenance?: JournalManagerOptions["requestMaintenance"]; previous: ProjectPartitionsPreparation; entries: ProjectPartitionCollection; }): ProjectPartitionsPreparation; export declare function activatePreparedProjectPartitions(input: { rootDir: string; projects: JournalProjectionSlot; headPing?: ThreadHeadPingSink; requestMaintenance?: JournalManagerOptions["requestMaintenance"]; receipt: ProjectPartitionsPreparation; entries: ProjectPartitionCollection; resetReceipt(receipt: ProjectPartitionsPreparation): void; }): void; //# sourceMappingURL=project-partition-preparation.d.ts.map