import type { ChatMessage, LlmProvider } from '../../../core/llm/types.js';
import type { RunResult } from '../../../core/types.js';
import type { AgentLoopCheckpoint, AgentLoopState } from './types.js';
/**
 * Owns agent-loop state snapshots and checkpoint conversion.
 */
export declare class AgentLoopCheckpointService {
    static createFinishedState(args: {
        runId: string;
        goal: string;
        model: string;
        provider: LlmProvider;
        workspaceRoot: string;
        startedAt: string;
        finishedAt: string;
        result: RunResult;
    }): AgentLoopState;
    static createCheckpoint(state: AgentLoopState, options?: {
        createdAt?: string;
    }): AgentLoopCheckpoint;
    static generateRunId(): string;
    static historyFromState(state: AgentLoopState): ChatMessage[];
    static historyFromCheckpoint(checkpoint: AgentLoopCheckpoint): ChatMessage[];
    static resolveHistory(options: {
        history?: ChatMessage[];
        resumeFrom?: AgentLoopState | AgentLoopCheckpoint;
    }): ChatMessage[] | undefined;
    static resolveResumeMetadata(resumeFrom: AgentLoopState | AgentLoopCheckpoint | undefined): {
        checkpointRunId: string;
        priorTraceEvents: number;
    } | undefined;
}
//# sourceMappingURL=checkpoint.d.ts.map