import type { IPmProjectRepository } from '../../ports/output/repositories/pm-project-repository.interface.js';
import type { IWorkItemRepository } from '../../ports/output/repositories/work-item-repository.interface.js';
import type { ICycleRepository } from '../../ports/output/repositories/cycle-repository.interface.js';
import type { IWorkItemStateRepository } from '../../ports/output/repositories/work-item-state-repository.interface.js';
import type { IAgentExecutorProvider } from '../../ports/output/agents/agent-executor-provider.interface.js';
export interface GetAiProjectHealthInput {
    projectId: string;
}
export interface ProjectHealthData {
    projectName: string;
    totalItems: number;
    completedItems: number;
    inProgressItems: number;
    notStartedItems: number;
    completionPercentage: number;
    activeCycles: number;
    totalCycles: number;
    aiSummary: string;
    recommendations?: string[];
}
export type GetAiProjectHealthResult = {
    ok: true;
    health: ProjectHealthData;
} | {
    ok: false;
    error: string;
};
export declare class GetAiProjectHealthUseCase {
    private readonly projectRepo;
    private readonly workItemRepo;
    private readonly cycleRepo;
    private readonly stateRepo;
    private readonly agentProvider;
    constructor(projectRepo: IPmProjectRepository, workItemRepo: IWorkItemRepository, cycleRepo: ICycleRepository, stateRepo: IWorkItemStateRepository, agentProvider: IAgentExecutorProvider);
    execute(input: GetAiProjectHealthInput): Promise<GetAiProjectHealthResult>;
}
//# sourceMappingURL=get-ai-project-health.use-case.d.ts.map