import { ActionResult } from "../../action/ActionResult";
import { Configurable } from "../../project/git/Configurable";
import { AbstractRemoteRepoRef } from "./AbstractRemoteRepoRef";
import { ProjectOperationCredentials } from "./ProjectOperationCredentials";
import { RepoRef } from "./RepoId";
export declare const GitHubDotComBase = "https://api.github.com";
/**
 * GitHub repo ref
 */
export declare class GitHubRepoRef extends AbstractRemoteRepoRef {
    static from(params: {
        owner: string;
        repo: string;
        sha?: string;
        rawApiBase?: string;
        path?: string;
        branch?: string;
    }): GitHubRepoRef;
    readonly kind: string;
    readonly apiBase: string;
    constructor(owner: string, repo: string, sha?: string, rawApiBase?: string, path?: string);
    createRemote(creds: ProjectOperationCredentials, description: string, visibility: string): Promise<ActionResult<this>>;
    setUserConfig(credentials: ProjectOperationCredentials, project: Configurable): Promise<ActionResult<any>>;
    raisePullRequest(credentials: ProjectOperationCredentials, title: string, body: string, head: string, base: string): Promise<ActionResult<this>>;
    deleteRemote(creds: ProjectOperationCredentials): Promise<ActionResult<this>>;
}
export declare function isGitHubRepoRef(rr: RepoRef): rr is GitHubRepoRef;
//# sourceMappingURL=GitHubRepoRef.d.ts.map