/**
 * SQLite Cycle Repository Implementation
 *
 * Implements ICycleRepository using better-sqlite3.
 * Includes junction table operations for cycle_work_items.
 */
import type Database from 'better-sqlite3';
import type { ICycleRepository } from '../../application/ports/output/repositories/cycle-repository.interface.js';
import type { Cycle } from '../../domain/generated/output.js';
export declare class SQLiteCycleRepository implements ICycleRepository {
    private readonly db;
    constructor(db: Database.Database);
    create(cycle: Cycle): Promise<void>;
    findById(id: string): Promise<Cycle | null>;
    listByProject(projectId: string): Promise<Cycle[]>;
    findActiveByProject(projectId: string): Promise<Cycle | null>;
    update(id: string, fields: Partial<Pick<Cycle, 'name' | 'description' | 'status' | 'startDate' | 'endDate'>>): Promise<void>;
    softDelete(id: string): Promise<void>;
    addWorkItem(cycleId: string, workItemId: string): Promise<void>;
    removeWorkItem(cycleId: string, workItemId: string): Promise<void>;
    getWorkItemIds(cycleId: string): Promise<string[]>;
    findCycleForWorkItem(projectId: string, workItemId: string): Promise<string | null>;
}
//# sourceMappingURL=sqlite-cycle.repository.d.ts.map