import type { ResearchEvidenceCard, ResearchReport, ResearchRun, ResearchSubquestion, ThreadId, TurnId } from "@best-agent/protocol";
import type { ThreadStore } from "./thread-store.js";
export interface CreateResearchRunInput {
    objective: string;
    subquestionCount: number;
    threadId: ThreadId;
    turnId: TurnId;
}
export declare class LocalResearchStore {
    #private;
    constructor(threads: ThreadStore);
    createRun(input: CreateResearchRunInput): Promise<ResearchRun>;
    updateRun(threadId: ThreadId, run: ResearchRun): Promise<void>;
    writeSubquestions(threadId: ThreadId, runId: string, subquestions: ResearchSubquestion[]): Promise<void>;
    appendEvidence(threadId: ThreadId, runId: string, evidence: ResearchEvidenceCard): Promise<void>;
    writeReport(threadId: ThreadId, runId: string, report: ResearchReport): Promise<void>;
    getRun(threadId: ThreadId, runId: string): Promise<ResearchRun | null>;
    getLatestRun(threadId: ThreadId): Promise<ResearchRun | null>;
    getReport(threadId: ThreadId, runId: string): Promise<ResearchReport | null>;
    getLatestReport(threadId: ThreadId): Promise<{
        report: ResearchReport | null;
        run: ResearchRun | null;
    }>;
    listEvidence(threadId: ThreadId, runId?: string): Promise<{
        evidence: ResearchEvidenceCard[];
        run: ResearchRun | null;
    }>;
}
//# sourceMappingURL=research-store.d.ts.map