/**
 * Git clone utility for the external command
 *
 * Handles shallow-cloning GitHub repositories to temporary directories
 * with proper error handling and cleanup.
 */
/**
 * Error thrown when a git clone operation fails
 */
export declare class GitCloneError extends Error {
    readonly url: string;
    readonly isTimeout: boolean;
    readonly isAuthError: boolean;
    constructor(message: string, url: string, isTimeout?: boolean, isAuthError?: boolean);
}
/**
 * Shallow-clone a git repository to a temporary directory
 *
 * @param args - The function arguments
 * @param args.url - The repository URL to clone
 * @param args.ref - Optional branch or tag to checkout
 *
 * @throws GitCloneError on clone failure
 *
 * @returns Path to the cloned directory
 */
export declare const cloneRepo: (args: {
    url: string;
    ref?: string | null;
}) => Promise<string>;
/**
 * Clean up a cloned temporary directory
 *
 * Validates the directory is within the system temp directory to prevent
 * accidental deletion of important files.
 *
 * @param args - The function arguments
 * @param args.dir - The directory to remove
 */
export declare const cleanupClone: (args: {
    dir: string;
}) => Promise<void>;
//# sourceMappingURL=gitClone.d.ts.map