import { IUseCase } from '../../interfaces/IUseCase.js';
import { IBranchMemoryBankRepository } from '../../../domain/repositories/IBranchMemoryBankRepository.js';
import { RecentBranchDTO } from '../../dtos/RecentBranchDTO.js';
/**
 * Input data for getting recent branches
 */
export interface GetRecentBranchesInput {
    /**
     * Maximum number of branches to retrieve (optional, default: 10)
     */
    limit?: number;
}
/**
 * Output data for getting recent branches
 */
export interface GetRecentBranchesOutput {
    /**
     * List of recent branches
     */
    branches: RecentBranchDTO[];
    /**
     * Total count of branches found
     */
    total: number;
}
/**
 * Use case for getting recent branches
 */
export declare class GetRecentBranchesUseCase implements IUseCase<GetRecentBranchesInput, GetRecentBranchesOutput> {
    private readonly branchRepository;
    /**
     * Constructor
     * @param branchRepository Branch memory bank repository
     */
    constructor(branchRepository: IBranchMemoryBankRepository);
    /**
     * Execute the use case
     * @param input Input data
     * @returns Promise resolving to output data
     */
    execute(input: GetRecentBranchesInput): Promise<GetRecentBranchesOutput>;
}
//# sourceMappingURL=GetRecentBranchesUseCase.d.ts.map