/**
 * SQLite Phase Timing Repository Implementation
 *
 * Implements IPhaseTimingRepository using SQLite database.
 * Uses prepared statements to prevent SQL injection.
 */
import type Database from 'better-sqlite3';
import type { IPhaseTimingRepository } from '../../application/ports/output/agents/phase-timing-repository.interface.js';
import type { PhaseTiming } from '../../domain/generated/output.js';
/**
 * SQLite implementation of IPhaseTimingRepository.
 */
export declare class SQLitePhaseTimingRepository implements IPhaseTimingRepository {
    private readonly db;
    constructor(db: Database.Database);
    save(phaseTiming: PhaseTiming): Promise<void>;
    update(id: string, updates: Partial<Pick<PhaseTiming, 'completedAt' | 'durationMs' | 'inputTokens' | 'outputTokens' | 'cacheCreationInputTokens' | 'cacheReadInputTokens' | 'costUsd' | 'numTurns' | 'durationApiMs' | 'exitCode' | 'errorMessage'>>): Promise<void>;
    updateApprovalWait(id: string, updates: Partial<Pick<PhaseTiming, 'waitingApprovalAt' | 'approvalWaitMs'>>): Promise<void>;
    findByRunId(agentRunId: string): Promise<PhaseTiming[]>;
    findByRunIds(agentRunIds: readonly string[]): Promise<PhaseTiming[]>;
    findByFeatureId(featureId: string): Promise<PhaseTiming[]>;
}
//# sourceMappingURL=sqlite-phase-timing.repository.d.ts.map