import { type RunPaths } from '../workflow/run/run-paths.js'; /** The three directories a task execution is allowed to use. */ export interface ExecutionLocations { readonly projectDirectory: string; readonly executionDirectory: string; readonly stateDirectory: string; } export interface StatePaths { readonly stateDirectory: string; readonly stateFile: string; readonly tasksFile: string; readonly tasksDirectory: string; readonly runsDirectory: string; readonly sessionsDirectory: string; readonly worktreeMetadataDirectory: string; readonly eventsDirectory: string; readonly locksDirectory: string; /** Fingerprint persisted by the central state owner for the runs root. */ readonly runsRootFingerprint?: Readonly<{ readonly dev: number; readonly ino: number; }>; } export declare const UUID_PATTERN: RegExp; /** * Resolve the central, channel-neutral state namespace. This function is * deliberately pure: callers decide when and how to create the directories. */ export declare function resolveStatePaths(globalConfigDirectory: string, stateId: string): StatePaths; export declare function resolveStatePathsFromDirectory(stateDirectory: string): StatePaths; export declare function resolveRunPaths(statePaths: StatePaths, runId: string): RunPaths; export declare function assertContained(root: string, candidate: string, label?: string): void; export declare function resolveExecutionLocations(input: ExecutionLocations): ExecutionLocations; export type { RunPaths }; //# sourceMappingURL=locations.d.ts.map