import type { UseCase } from '../../../../shared/foundation/usecase.base.js';
import type { ReviewRequestTrackingGateway } from '../../../../modules/tracking/interface-adapters/gateways/reviewRequestTracking.gateway.js';
import type { BypassRecord } from '../../../../modules/tracking/entities/tracking/trackedMr.js';
interface RecordBypassInput {
    projectPath: string;
    mrId: string;
    commentBody: string;
    author: string;
    now: () => string;
}
export type RecordBypassResult = {
    kind: 'no-marker';
} | {
    kind: 'recorded';
    bypass: BypassRecord;
} | {
    kind: 'rejected-missing-reason';
    message: string;
} | {
    kind: 'mr-not-found';
};
export declare class RecordBypassUseCase implements UseCase<RecordBypassInput, RecordBypassResult> {
    private readonly trackingGateway;
    constructor(trackingGateway: ReviewRequestTrackingGateway);
    execute(input: RecordBypassInput): RecordBypassResult;
}
export {};
//# sourceMappingURL=recordBypass.usecase.d.ts.map