import { GitCloneOptions, GitCloneResult } from './types'; export declare class GitCloner { /** * Clone a git repository to a destination * @param url - Repository URL (will be normalized) * @param destination - Target directory path * @param options - Clone options (branch, depth) * @returns Clone result with normalized URL and destination */ clone(url: string, destination: string, options?: GitCloneOptions): GitCloneResult; /** * Clone to a temporary directory * @param url - Repository URL * @param options - Clone options * @returns Clone result with temp directory path */ cloneToTemp(url: string, options?: GitCloneOptions): GitCloneResult; /** * Normalize a URL to git-cloneable format * Handles: org/repo -> https://github.com/org/repo.git */ normalizeUrl(url: string): string; /** * Validate git URL format */ validateUrl(url: string): boolean; /** * Remove .git directory from cloned repo */ removeGitDir(directory: string): void; private executeClone; }