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; streamRelease(url: string): Promise; extract(destination: string, stream: Stream): Promise; }