export declare function claudeStateRoot(env?: NodeJS.ProcessEnv): string;
export declare function projectSlugForCwd(cwd: string): string;
export declare function sessionsDir(env?: NodeJS.ProcessEnv): string;
export declare function projectsDirForCwd(cwd: string, env?: NodeJS.ProcessEnv): string;
/** Task 258 — single derivation site for the on-disk path of a session's
 *  JSONL transcript. The JSONL basename IS the sessionId; we never store
 *  a path. `opts.archived` returns the `archive/` variant for the user-
 *  initiated archive route. Callers that need the live-or-archived check
 *  consult both variants. */
export declare function jsonlPathForSessionId(spawnCwd: string, sessionId: string, opts?: {
    archived?: boolean;
}, env?: NodeJS.ProcessEnv): string;
/** Task 260 — archive subdir for a given spawn cwd. fs-watcher uses this
 *  to enumerate archived JSONLs at boot and to mount a second fs.watch. */
export declare function archiveDirForCwd(cwd: string, env?: NodeJS.ProcessEnv): string;
/** Task 260 — sidecar path for a session's spawn metadata. Lives alongside
 *  the JSONL: archived JSONL → archived sidecar; live JSONL → live sidecar.
 *  The pair moves together on /archive and /unarchive. */
export declare function sidecarPathForSessionId(spawnCwd: string, sessionId: string, opts?: {
    archived?: boolean;
}, env?: NodeJS.ProcessEnv): string;
/** Task 278 — per-session capture of the binary's `[auto-mode]
 *  verifyAutoModeGateAccess: ...` debug line, written when the spawn passes
 *  `--debug=auto-mode --debug-file=<this>`. The file sits next to the JSONL
 *  and meta sidecar, and `permission-mode-tail.ts` watches it via fs-watcher
 *  to derive `effectivePermissionMode` for the SSE row payload. Single line
 *  on auto spawns; absent on non-auto spawns. */
export declare function permissionModeLogPathForSessionId(spawnCwd: string, sessionId: string, opts?: {
    archived?: boolean;
}, env?: NodeJS.ProcessEnv): string;
/** Task 547 — walk `<claudeConfigDir>/projects/<slug>/` (and each
 *  `<slug>/archive/`) for `<sessionId>.jsonl`. Returns the first match
 *  or null when no JSONL exists. Used by `/rc-spawn` to decide between
 *  `--resume <sid>` (existing transcript) and `--session-id <sid>`
 *  (fresh conversation under that id). */
export declare function findExistingJsonlForSessionId(claudeConfigDir: string, sessionId: string): string | null;
/** Extract the bridge-session suffix from a `/remote-control` URL. This is
 *  the part after `session_`, not the intrinsic JSONL filename. Returns
 *  null if the URL has no `session_<...>` component. */
export declare function bridgeSuffixFromUrl(url: string): string | null;
//# sourceMappingURL=jsonl-path.d.ts.map