import type { AgentPhaseEndEvent, AgentPhaseStartEvent, AgentProviderConfig, SavedAuthUser } from "./types.js"; type AgentSessionMessageKind = "follow-up" | "input" | "phase-end" | "phase-start" | "prompt" | "reply" | "tool-call" | "tool-result"; type AgentSessionStatus = "cancelled" | "completed" | "running"; export interface AgentSessionRecorder { close(status: Exclude): Promise; outputPath: string; recordAgent(message: { content: string; kind: Extract; }): Promise; recordUser(message: { content: string; kind: Extract; }): Promise; recordToolCall(message: { input: unknown; toolName: string; }): Promise; recordPhaseEnd(message: AgentPhaseEndEvent): Promise; recordPhaseStart(message: AgentPhaseStartEvent): Promise; recordToolResult(message: { durationMs: number; output?: unknown; status: "failed" | "succeeded"; toolName: string; }): Promise; } export declare function resolveAgentSessionSavePath(options: { cwd: string; homeDir: string; saveSession: string | true; startedAt: string; }): string; export declare function createAgentSessionRecorder(options: { cwd?: string; headed?: boolean; homeDir: string; initialPrompt?: string; provider: AgentProviderConfig; saveSession: string | true; startedAt?: string; user: SavedAuthUser; }): Promise; export {}; //# sourceMappingURL=agent-session-recorder.d.ts.map