/**
 * Full-repository scanning.
 *
 * Shallow-clones a git repository, discovers relevant files,
 * and runs Tier 1 scanning across the entire repo.
 */
import type { RepoFile, ScanResult } from './types.js';
/**
 * Performs a shallow clone of a git repository.
 *
 * @param repoUrl - The git repository URL (HTTPS or SSH)
 * @param tmpDir - Directory to clone into
 * @returns Path to the cloned repository
 */
export declare function shallowClone(repoUrl: string, tmpDir: string): Promise<string>;
/**
 * Recursively discovers all non-binary, scannable files in a directory.
 *
 * @param dir - Root directory to scan
 * @param basePath - Base path for relative path computation
 * @returns Array of RepoFile objects
 */
export declare function discoverFiles(dir: string, basePath?: string): Promise<RepoFile[]>;
/**
 * Clones a repository, discovers files, and scans them all.
 *
 * @param repoUrl - The git repository URL
 * @returns Combined ScanResult for all discovered files
 */
export declare function scanRepository(repoUrl: string): Promise<ScanResult>;
