/**
 * Git remote URL utilities — GitHub-focused.
 *
 * Parsing, validation, and compare-URL generation for git remote URLs.
 * Used by both the UI and the vite-plugin-file-sync AI agent tooling.
 */
export declare function isValidGitUrl(url: string): boolean;
export declare function isGitHubUrl(url: string): boolean;
/**
 * Converts a git remote URL (HTTPS or SSH) to a browser-friendly HTTPS URL.
 * Returns `null` when the URL cannot be converted.
 *
 *   https://github.com/org/repo.git  →  https://github.com/org/repo
 *   git@github.com:org/repo.git      →  https://github.com/org/repo
 */
export declare function gitRemoteUrlToWeb(url: string): string | null;
/**
 * Returns a URL that opens the "new pull request" compare screen on GitHub.
 * Returns `null` when the remote URL is not a GitHub URL or cannot be parsed.
 */
export declare function getGitHubCompareUrl({ gitRemoteUrl, fromBranch, toBranch, title, body }: {
    gitRemoteUrl: string;
    fromBranch: string;
    toBranch: string;
    title?: string;
    body?: string;
}): string | null;
export type GitProvider = 'github' | 'gitlab' | 'bitbucket' | 'azure_devops' | 'unknown';
export declare const HOST_TO_PROVIDER: Record<string, GitProvider>;
export declare function detectGitProvider(url: string): GitProvider;
export declare function isGitCommitHash(value: string): boolean;
export declare function getCommitUrlForHash(params: {
    hash: string;
    repositoryWebUrl: string;
}): string | null;
/**
 * Converts an SSH git remote URL to its HTTPS equivalent suitable for
 * `git clone` / `git fetch` with a credential helper.  HTTPS URLs are
 * returned as-is (with `.git` suffix ensured, except for Azure DevOps which
 * uses `/_git/repo` format without `.git`).  Returns `null` when the URL
 * cannot be converted.
 *
 *   git@github.com:org/repo.git               → https://github.com/org/repo.git
 *   git@gitlab-self.example.com:root/app.git   → https://gitlab-self.example.com/root/app.git
 *   ssh://git@github.com/org/repo              → https://github.com/org/repo.git
 *   https://github.com/org/repo.git            → https://github.com/org/repo.git (passthrough)
 *   https://org@dev.azure.com/org/proj/_git/repo → https://org@dev.azure.com/org/proj/_git/repo (no .git)
 */
export declare function sshGitUrlToHttps(url: string): string | null;
export declare function isCommitUrlForHash(params: {
    hash: string;
    url: string;
}): boolean;
//# sourceMappingURL=git-url.d.ts.map