import type { UseCase } from '../../../../shared/foundation/usecase.base.js';
import type { ReviewRequestTrackingGateway } from '../../../../modules/tracking/interface-adapters/gateways/reviewRequestTracking.gateway.js';
import { type QualityGateRejectionReason } from '../../../../modules/tracking/entities/qualityGate/qualityGate.js';
interface HandlePlatformApprovalInput {
    projectPath: string;
    mrId: string;
    qualityThreshold: number | null;
}
export type HandlePlatformApprovalResult = {
    kind: 'allowed';
} | {
    kind: 'bypass-active';
} | {
    kind: 'mr-not-found';
} | {
    kind: 'reverted';
    reason: QualityGateRejectionReason;
    threshold: number;
    latestScore: number;
    message: string;
};
export declare class HandlePlatformApprovalUseCase implements UseCase<HandlePlatformApprovalInput, HandlePlatformApprovalResult> {
    private readonly trackingGateway;
    constructor(trackingGateway: ReviewRequestTrackingGateway);
    execute(input: HandlePlatformApprovalInput): HandlePlatformApprovalResult;
}
export {};
//# sourceMappingURL=handlePlatformApproval.usecase.d.ts.map