import type { PmModule } from '../../../domain/generated/output.js';
import type { IPmModuleRepository } from '../../ports/output/repositories/pm-module-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';
export interface ModuleWithProgress extends PmModule {
    totalItems: number;
    completedItems: number;
    progressPercent: number;
}
export type GetModuleResult = {
    ok: true;
    module: ModuleWithProgress;
} | {
    ok: false;
    error: string;
};
export declare class GetModuleUseCase {
    private readonly moduleRepo;
    private readonly workItemRepo;
    private readonly stateRepo;
    constructor(moduleRepo: IPmModuleRepository, workItemRepo: IWorkItemRepository, stateRepo: IWorkItemStateRepository);
    execute(moduleId: string): Promise<GetModuleResult>;
}
//# sourceMappingURL=get-module.use-case.d.ts.map