/// <reference types="node" />
import { Stream } from 'stream';
export default class GitHubClient {
    username: string;
    readonly gitHubRepoUrl: string;
    readonly gitHubUserUrl: string;
    private readonly httpClient;
    static parsePath(path?: string): {
        username: string;
        repo: string;
    };
    constructor(username: string, defaultStackPattern: string);
    getAllRepos(count?: number): Promise<any>;
    getLatest(repo: string, destination: string): Promise<void>;
    makeHeadApiCall(repo: string): Promise<any>;
    makeGetApiCall(repo: string): Promise<any>;
    checkIfRepoExists(repo: string): Promise<boolean>;
    getLatestTarballUrl(repo: string): Promise<any>;
    streamRelease(url: string): Promise<Stream>;
    extract(destination: string, stream: Stream): Promise<void>;
    private buildError;
}
