/**
 * Git Remote Detection Utilities
 *
 * Detects and parses git remotes to auto-configure repository settings
 *
 * @module utils/git-detector
 */
/**
 * Represents a parsed git remote
 */
export interface GitRemote {
    name: string;
    url: string;
    owner?: string;
    repo?: string;
    provider: 'github' | 'gitlab' | 'bitbucket' | 'azure' | 'unknown';
}
/**
 * Result of git remote detection
 */
export interface GitDetectionResult {
    remotes: GitRemote[];
    hasGit: boolean;
    error?: string;
}
/**
 * Parse a git URL to extract provider, owner, and repo
 *
 * Supports:
 * - HTTPS: https://github.com/owner/repo.git
 * - SSH: git@github.com:owner/repo.git
 * - SSH with protocol: ssh://git@github.com/owner/repo.git
 * - GitHub Enterprise: https://github.company.com/owner/repo.git
 *
 * @param url - Git remote URL
 * @returns Parsed remote information
 */
export declare function parseGitUrl(url: string): Partial<GitRemote>;
/**
 * Detect git remotes in a project directory
 *
 * @param projectPath - Path to the project directory
 * @returns Detection result with all remotes
 */
export declare function detectGitRemotes(projectPath: string): Promise<GitDetectionResult>;
/**
 * Get GitHub remotes only
 *
 * @param projectPath - Path to the project directory
 * @returns Array of GitHub remotes
 */
export declare function detectGitHubRemotes(projectPath: string): Promise<GitRemote[]>;
/**
 * Detect primary GitHub remote (prefer 'origin')
 *
 * @param projectPath - Path to the project directory
 * @returns Primary GitHub remote or null
 */
export declare function detectPrimaryGitHubRemote(projectPath: string): Promise<GitRemote | null>;
/**
 * Check if project has multiple GitHub remotes
 *
 * @param projectPath - Path to the project directory
 * @returns True if multiple GitHub remotes exist
 */
export declare function hasMultipleGitHubRemotes(projectPath: string): Promise<boolean>;
/**
 * Format git remote for display
 *
 * @param remote - Git remote to format
 * @returns Formatted string for display
 */
export declare function formatGitRemote(remote: GitRemote): string;
/**
 * Get unique repository identifiers from remotes
 *
 * @param remotes - Array of git remotes
 * @returns Array of unique owner/repo combinations
 */
export declare function getUniqueRepositories(remotes: GitRemote[]): Array<{
    owner: string;
    repo: string;
}>;
//# sourceMappingURL=git-detector.d.ts.map