import type { HarnessName } from "../knowledge/descriptor.js"; /** The transcript store root for one harness, resolved impurely from the * environment. Single source for `transcript.ts` and the resume-last CLI * guard: both must name the same directory the harness files sessions * under, so the branches live here once rather than copied per caller. * Cursor carries its own root table (`store.rootEnv` / `store.defaultRoot`), * so its branch reads that descriptor data; the others are fixed home paths. */ export declare const transcriptStoreRoot: (harness: HarnessName, opts: { readonly env: Readonly>; readonly cwd: string; readonly home: string; /** How store-root env values resolve. The default (`process-cwd`) is * the legacy transcript behavior: a relative value anchors at the hcn * process cwd and a set-but-empty value counts as set, except Pi's * flat session override, whose empty value means unset. `hcn * transcript` keeps that behavior deliberately and passes nothing * here, so its behavior is unchanged. The resume-last diagnostic and * absent-directory check pass `spawn-cwd`: a relative value anchors * at the spawn cwd and a set-but-empty value counts as unset, the * same precedence `resolveStoreRoot` uses. */ readonly envAnchor?: "process-cwd" | "spawn-cwd"; }) => string; /** The directory `transcript ls` walks for one harness. * * Pi's default store lists above its per-workspace directory; its session * directory override is flat. Antigravity keeps the * conversation index that names each workspace beside its `brain` directory, * so both list from one level up. The branch stays here rather than in * `transcriptStoreRoot`, which keeps naming the directory a read resolves in. */ export declare const transcriptListingRoot: (harness: HarnessName, opts: Parameters[1]) => string; //# sourceMappingURL=store-root.d.ts.map