export type RunTranscriptStatus = 'running' | 'completed' | 'failed';
export interface ToolCallRecord {
    tool: string;
    input: string;
    output: string;
    durationMs: number;
}
export interface TokenUsage {
    input: number;
    output: number;
}
export interface RunTranscript {
    id: string;
    taskId?: string;
    agentId: string;
    model: string;
    companyId?: string;
    startedAt: string;
    completedAt?: string;
    status: RunTranscriptStatus;
    toolCalls: ToolCallRecord[];
    tokenUsage: TokenUsage;
    outputSummary: string;
    fullOutput?: string;
    error?: string;
}
export interface CreateTranscriptInput {
    taskId?: string;
    agentId: string;
    model: string;
    companyId?: string;
}
export interface UpdateTranscriptInput {
    completedAt?: string;
    status?: RunTranscriptStatus;
    toolCalls?: ToolCallRecord[];
    tokenUsage?: TokenUsage;
    outputSummary?: string;
    fullOutput?: string;
    error?: string;
}
export declare function listTranscripts(projectDir: string, filter?: {
    taskId?: string;
    agentId?: string;
    companyId?: string;
    status?: RunTranscriptStatus;
}): Promise<RunTranscript[]>;
export declare function getTranscript(projectDir: string, id: string): Promise<RunTranscript | undefined>;
export declare function createTranscript(projectDir: string, input: CreateTranscriptInput, now?: Date): Promise<RunTranscript>;
export declare function updateTranscript(projectDir: string, id: string, input: UpdateTranscriptInput, now?: Date): Promise<RunTranscript>;
/**
 * Append a tool call record to a running transcript.
 */
export declare function appendToolCall(projectDir: string, id: string, toolCall: ToolCallRecord): Promise<RunTranscript>;
/**
 * Add token usage to a transcript (incrementally).
 */
export declare function addTokenUsage(projectDir: string, id: string, usage: Partial<TokenUsage>): Promise<RunTranscript>;
/**
 * Complete a transcript — set status, summary, and completedAt.
 */
export declare function completeTranscript(projectDir: string, id: string, result: {
    success: boolean;
    summary: string;
    fullOutput?: string;
    error?: string;
    durationMs?: number;
}, now?: Date): Promise<RunTranscript>;
/**
 * Delete old transcripts older than a given number of days.
 */
export declare function pruneOldTranscripts(projectDir: string, maxAgeDays?: number, now?: Date): Promise<number>;
//# sourceMappingURL=runTranscripts.d.ts.map