import type { SeedAgentConfig } from "../../config/schema.js";
import { type ActiveRun, type SeedRun, type SeedTask, type TaskStatus } from "./types.js";
export type RunStore = {
    directory: string;
    config: SeedAgentConfig;
};
export declare function createRunStore(directory: string, config: SeedAgentConfig): RunStore;
export declare function artifactRoot(store: RunStore): string;
export declare function runDir(store: RunStore, runId: string): string;
export declare function activeRunPath(store: RunStore): string;
export declare function createRun(store: RunStore, input: {
    goal: string;
    runId?: string;
    sessionId?: string;
    modelProvider?: string;
    modelId?: string;
    modelVariant?: string;
    acceptanceCriteria?: string[];
    runMode?: SeedRun["run_mode"];
}): Promise<SeedRun>;
export declare function setActiveRun(store: RunStore, runId: string): Promise<void>;
export declare function getActiveRun(store: RunStore): Promise<ActiveRun | undefined>;
export declare function getRun(store: RunStore, runId?: string): Promise<SeedRun | undefined>;
export declare function updateRun(store: RunStore, runId: string, patch: Partial<SeedRun>): Promise<SeedRun>;
export declare function listTasks(store: RunStore, runId: string): Promise<SeedTask[]>;
export declare function getTask(store: RunStore, runId: string, taskId: string): Promise<SeedTask | undefined>;
export declare function createTask(store: RunStore, runId: string, input: {
    title: string;
    description?: string;
    owner_agent?: string;
    priority?: number;
    depends_on?: string[];
    acceptance_criteria?: string[];
}): Promise<SeedTask>;
export declare function updateTask(store: RunStore, runId: string, taskId: string, patch: Partial<Omit<SeedTask, "task_id" | "created_at">> & {
    status?: TaskStatus;
}): Promise<SeedTask>;
export declare function completePrimaryTasks(store: RunStore, runId: string, evidenceRefs?: string[]): Promise<SeedTask[]>;
export declare function writeProgress(store: RunStore, runId: string, content: string, append?: boolean): Promise<string>;
export declare function writeReport(store: RunStore, runId: string, content: string): Promise<string>;
export declare function readRunTextFile(store: RunStore, runId: string, name: string): Promise<string>;
export declare function recordToolStart(store: RunStore, runId: string, input: {
    toolName: string;
    sessionId?: string;
    agent?: string;
    args?: unknown;
}): Promise<string>;
