import { Git, GitCommit } from '../../../core/git';
import { IPlugin, IPluginInitialize } from '../../../core/plugin-manager';
import { GitSemverTag } from '../../../core/version-utils';
export declare class GithubPlugin implements IPlugin {
    private git;
    private projectName;
    private repoName;
    name: string;
    get gitPlatform(): this;
    constructor(git: Git, projectName: string, repoName: string);
    /**
     * Git url has the format: https://github.com/jwpkg/gitversion.git or git@github.com:cp-utils/gitversion.git
     */
    static parseUrl(url: string): {
        projectName: string;
        repoName: string;
    } | null;
    static initialize(initialize: IPluginInitialize): Promise<GithubPlugin | null>;
    currentBranch(): Promise<string | null>;
    currentRef(): Promise<string | null>;
    stripMergeMessage(commit: GitCommit): GitCommit;
    renderCompareUrl(from: GitSemverTag, to: GitSemverTag): string;
    renderCommitUrl(commit: string): string;
}
