import type { UseCase } from '../../../../shared/foundation/usecase.base.js';
interface DirEntry {
    name: string;
    isDirectory: () => boolean;
}
export interface DiscoverRepositoriesDependencies {
    existsSync: (path: string) => boolean;
    readdirSync: (path: string) => DirEntry[];
    getGitRemoteUrl: (localPath: string) => string | null;
}
export interface DiscoverRepositoriesInput {
    scanPaths: string[];
    maxDepth: number;
}
export interface DiscoveredRepository {
    name: string;
    localPath: string;
    platform: 'gitlab' | 'github' | null;
    remoteUrl: string | null;
    hasReviewConfig: boolean;
}
export interface DiscoverRepositoriesResult {
    repositories: DiscoveredRepository[];
    scannedPaths: string[];
    skippedPaths: string[];
}
export declare class DiscoverRepositoriesUseCase implements UseCase<DiscoverRepositoriesInput, DiscoverRepositoriesResult> {
    private readonly deps;
    constructor(deps: DiscoverRepositoriesDependencies);
    execute(input: DiscoverRepositoriesInput): DiscoverRepositoriesResult;
    private scan;
}
export {};
//# sourceMappingURL=discoverRepositories.usecase.d.ts.map