import type { ICycleRepository } from '../../ports/output/repositories/cycle-repository.interface.js';
import type { IWorkItemRepository } from '../../ports/output/repositories/work-item-repository.interface.js';
import type { IWorkItemStateRepository } from '../../ports/output/repositories/work-item-state-repository.interface.js';
import type { IActivityLogRepository } from '../../ports/output/repositories/activity-log-repository.interface.js';
export interface BurndownDataPoint {
    date: string;
    ideal: number;
    actual: number;
}
export interface CycleBurndownData {
    cycleId: string;
    cycleName: string;
    startDate: string;
    endDate: string;
    totalItems: number;
    completedItems: number;
    dataPoints: BurndownDataPoint[];
}
export type GetCycleBurndownResult = {
    ok: true;
    data: CycleBurndownData;
} | {
    ok: false;
    error: string;
};
export declare class GetCycleBurndownUseCase {
    private readonly cycleRepo;
    private readonly workItemRepo;
    private readonly stateRepo;
    private readonly activityRepo;
    constructor(cycleRepo: ICycleRepository, workItemRepo: IWorkItemRepository, stateRepo: IWorkItemStateRepository, activityRepo: IActivityLogRepository);
    execute(cycleId: string): Promise<GetCycleBurndownResult>;
}
//# sourceMappingURL=get-cycle-burndown.use-case.d.ts.map