import type { PmModule, ModuleStatus } from '../../../domain/generated/output.js';
import type { IPmModuleRepository } from '../../ports/output/repositories/pm-module-repository.interface.js';
export interface UpdateModuleInput {
    name?: string;
    description?: string;
    status?: ModuleStatus;
    leadId?: string;
    startDate?: Date;
    endDate?: Date;
}
export type UpdateModuleResult = {
    ok: true;
    module: PmModule;
} | {
    ok: false;
    error: string;
};
export declare class UpdateModuleUseCase {
    private readonly moduleRepo;
    constructor(moduleRepo: IPmModuleRepository);
    execute(moduleId: string, input: UpdateModuleInput): Promise<UpdateModuleResult>;
}
//# sourceMappingURL=update-module.use-case.d.ts.map