/** * `cleo doctor row-identity --refill`: the explicit remedy for a store whose * identity predates the current recipe and that the open refused to refill * because it could not be proven unshared (T13231; spec `t12341-uid-scheme` * ยง12.1). * * A dry run by default. It prints the share verdict, its evidence (the local * link, vault and journal state, and what Cleo Nexus answered) and the rows * the refill would clear. `--apply` refills only when the verdict, with the * Nexus answer folded in, is `unshared`: a pre-refill `VACUUM INTO` snapshot, * then the from-scratch refill, inside the capture bracket when `sync.capture` * is on. * * Cleo Nexus is asked read-only, with this machine's device credential, * whether it holds ANY checkpoint or journal segment of the project from any * device. "Present" refuses: a uid in the cloud is never rewritten locally * (the future remedy is the T12344 re-key with aliases). "Unreachable" is * unknown, and unknown refuses. * * @module * @task T13231 */ import type { RowIdentityNexusAnswer, RowIdentityRefillReport } from '@cleocode/contracts'; /** Asks Cleo Nexus for the project's history; defaults to `askNexusProjectHistory`. */ export type NexusHistoryProbe = (projectRoot: string) => Promise; /** Options of {@link rowIdentityRefill}. */ export interface RowIdentityRefillOptions { /** Refill when the verdict allows it; a dry run without it. */ readonly apply?: boolean; /** The Nexus probe (tests inject a mock; never the real cloud in tests). */ readonly probe?: NexusHistoryProbe; } /** * Plan, and with `apply` run, the explicit from-scratch identity refill of a * project store (T13231). * * @param projectRoot - Project directory. * @param options - `apply`, and the Nexus probe. * @returns The verdict, its evidence, the plan and what was done. * @task T13231 */ export declare function rowIdentityRefill(projectRoot: string, options?: RowIdentityRefillOptions): Promise; //# sourceMappingURL=row-identity-refill.d.ts.map