/**
 * Base directory where Claude Code keeps its config + session transcripts.
 *
 * Honors `CLAUDE_CONFIG_DIR`, which — per the Claude Code docs (sessions.md) —
 * REPLACES `~/.claude` entirely; transcripts then live at
 * `<base>/projects/<escaped-cwd>/<sessionId>.jsonl`. Read at call time so a
 * relocated dir is picked up without a restart. `CLAUDE_CONFIG_DIR` holding
 * multiple dirs is undocumented, so we treat it as a single path (no list
 * parsing — YAGNI until Claude Code documents it).
 *
 * Without this, the wake resolver scans the default `~/.claude` while a user who
 * set `CLAUDE_CONFIG_DIR=/custom` has their sessions under `/custom/projects/…`
 * → zero candidates → "no candidate sessions found for cwd" → wake never fires.
 */
export declare function claudeConfigDir(): string;
/**
 * Base directory where Codex keeps its state + session rollouts. Honors
 * `CODEX_HOME` (which relocates `~/.codex`), falling back to `~/.codex`; rollouts
 * live under `<base>/sessions/**.jsonl`. Same rationale as {@link claudeConfigDir}.
 */
export declare function codexHomeDir(): string;
/**
 * Build the env for a resumed agent subprocess.
 *
 * The vendor's own session-context vars (keys starting with `vendorPrefix`, e.g.
 * "CLAUDE" / "CODEX") are stripped so the child does not believe it is nested
 * inside the parent session (nesting hangs the resume) — EXCEPT the keys listed in
 * `preserve` (the config-dir override, e.g. `CLAUDE_CONFIG_DIR` / `CODEX_HOME`,
 * which the child needs to LOCATE the session when the user relocated it).
 * `MCP_TRANSPORT` is always dropped. Pure + fully unit-tested; the callers layer
 * `COGENT_CHECK_ON_STOP=0` on top.
 */
export declare function buildResumeEnv(source: NodeJS.ProcessEnv, vendorPrefix: string, preserve: string[]): Record<string, string | undefined>;
//# sourceMappingURL=agent-config.d.ts.map