/**
 * Solo Persistence — read/write Solo Mode state to disk.
 *
 * State is stored at `<project>/.qlogicagent/solos/<soloId>/solo-state.json`.
 * Mirrors the product-persistence.ts pattern.
 */
import type { PathService } from "../runtime/ports/index.js";
import type { SoloState, SoloAgentState, SoloEvaluation, SoloSpec } from "../protocol/wire/acp-agent-management.js";
export interface PersistedSoloState {
    soloId: string;
    state: SoloState;
    task: string;
    cwd: string;
    gitRoot: string;
    agents: Array<{
        agentId: string;
        memberId: string;
        worktreePath: string;
        worktreeBranch: string;
        state: SoloAgentState;
        resultText?: string;
        diff?: string;
        usage?: {
            inputTokens: number;
            outputTokens: number;
        };
        error?: string;
        turns?: Array<{
            role: "user" | "agent";
            content: string;
            timestamp: number;
        }>;
    }>;
    evaluation?: SoloEvaluation;
    spec?: SoloSpec;
    createdAt: number;
}
export interface SoloPersistenceOptions {
    pathService?: PathService;
}
/** Save solo state to disk. */
export declare function saveSoloState(state: PersistedSoloState, cwd?: string, options?: SoloPersistenceOptions): Promise<void>;
/** Load solo state from disk. Returns undefined if not found. */
export declare function loadSoloState(soloId: string, cwd?: string, options?: SoloPersistenceOptions): Promise<PersistedSoloState | undefined>;
/** List all solo session IDs with their persisted state. */
export declare function listSoloSessions(cwd?: string, options?: SoloPersistenceOptions): Promise<PersistedSoloState[]>;
/** Delete solo state from disk. */
export declare function deleteSoloState(soloId: string, cwd?: string, options?: SoloPersistenceOptions): Promise<boolean>;
