import type { ProjectConfigGateway } from '../../../../modules/cli-configuration/entities/projectConfig/projectConfig.gateway.js';
import type { RepositoriesListGateway } from '../../../../modules/cli-configuration/entities/repositoriesList/repositoriesList.gateway.js';
import type { UseCase } from '../../../../shared/foundation/usecase.base.js';
export interface QueueCapacityPort {
    setGlobalConcurrency(value: number): void;
    setProjectConcurrencyCap(projectPath: string, cap: number): void;
}
export type RecomputeGlobalConcurrencyInput = Record<string, never>;
export interface RecomputeGlobalConcurrencyResult {
    totalCapacity: number;
    perProjectCaps: Array<{
        path: string;
        cap: number;
    }>;
}
export interface RecomputeGlobalConcurrencyDependencies {
    repositoriesListGateway: RepositoriesListGateway;
    projectConfigGateway: ProjectConfigGateway;
    queueCapacityPort: QueueCapacityPort;
}
export declare class RecomputeGlobalConcurrencyUseCase implements UseCase<RecomputeGlobalConcurrencyInput, RecomputeGlobalConcurrencyResult> {
    private readonly dependencies;
    constructor(dependencies: RecomputeGlobalConcurrencyDependencies);
    execute(_input: RecomputeGlobalConcurrencyInput): RecomputeGlobalConcurrencyResult;
}
//# sourceMappingURL=recomputeGlobalConcurrency.usecase.d.ts.map