import type { UseCase } from '../../../../shared/foundation/usecase.base.js';
import type { ReviewRequestTrackingGateway } from '../../../../modules/tracking/interface-adapters/gateways/reviewRequestTracking.gateway.js';
import type { TrackedMr } from '../../../../modules/tracking/entities/tracking/trackedMr.js';
interface TrackAssignmentInput {
    projectPath: string;
    mrInfo: {
        mrNumber: number;
        title: string;
        url: string;
        project: string;
        platform: 'gitlab' | 'github';
        sourceBranch: string;
        targetBranch: string;
    };
    assignedBy: {
        username: string;
        displayName?: string;
    };
}
export declare class TrackAssignmentUseCase implements UseCase<TrackAssignmentInput, TrackedMr> {
    private readonly trackingGateway;
    constructor(trackingGateway: ReviewRequestTrackingGateway);
    execute(input: TrackAssignmentInput): TrackedMr;
    private updateExisting;
    private createNew;
}
export {};
//# sourceMappingURL=trackAssignment.usecase.d.ts.map