/**
 * FrameworkSessionStore — resolve a session's transcript file path for the
 * runtime that produced it.
 *
 * Portability audit Gap 3. PreCompactionFlush and ResumeValidator hardcoded
 * Claude Code's transcript convention (`~/.claude/projects/<encoded-cwd>/
 * <sessionId>.jsonl`). A Codex session is never found there, so compaction
 * flush and resume validation silently no-op for Codex agents.
 *
 * Codex's layout was determined empirically from a live ~/.codex/ (Codex CLI
 * 0.78.0), NOT guessed:
 *   ~/.codex/sessions/YYYY/MM/DD/rollout-<ISO8601-dashes>-<uuid>.jsonl
 * where the trailing <uuid> equals the session id (and the first JSONL line
 * is a `session_meta` record whose payload.id is that same uuid). Sessions
 * are date-partitioned, NOT cwd-keyed, so a Codex lookup globs by id across
 * the date tree rather than building a deterministic path.
 *
 * Pure path resolution + filesystem lookup. No mutation, no network.
 */
export type SessionFramework = 'claude-code' | 'codex-cli' | 'gemini-cli' | 'pi-cli';
export interface ResolveTranscriptOptions {
    framework: SessionFramework;
    sessionId: string;
    /** Project working directory (used by the Claude Code cwd-encoded path). */
    projectDir: string;
    /** Home dir override (testing). Defaults to os.homedir(). */
    homeDir?: string;
    /**
     * Root override (testing). For claude-code this replaces
     * `<home>/.claude/projects`; for codex-cli it replaces
     * `<home>/.codex/sessions`; for gemini-cli it replaces `<home>/.gemini`.
     */
    rootOverride?: string;
}
export declare function resolveFrameworkTranscriptPath(opts: ResolveTranscriptOptions): string;
//# sourceMappingURL=FrameworkSessionStore.d.ts.map