/** * 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; 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