/// <reference types="node" />
import { Stream } from 'stream';
export interface Repo {
    user: string;
    name: string;
    branch?: string;
}
export default class GitHubClient {
    readonly gitTarBallUrl: string;
    readonly repo: Repo;
    readonly private: boolean;
    readonly accessToken?: string;
    static parsePath(gitPath?: string): Repo;
    constructor(repo: Repo, privateRepo?: boolean, token?: string);
    getLatest(destination: string): Promise<void>;
    streamRelease(url: string): Promise<Stream>;
    extract(destination: string, stream: Stream): Promise<any>;
}
