export declare type AuthInfo = {
    alwaysAuth: boolean;
} & ({
    token: string;
} | {
    username: string;
    password: string;
});
export declare type HttpResponse = {
    body: string;
};
export declare type Got = {
    download(url: string, saveto: string, opts: {
        registry?: string;
        onStart?: () => void;
        onProgress?: (downloaded: number, totalSize: number) => void;
        integrity?: string;
    }): Promise<void>;
    getJSON<T>(url: string): Promise<T>;
};
export declare type NpmRegistryClient = {
    get: Function;
    fetch: Function;
};
declare const _default: (client: NpmRegistryClient, opts: {
    networkConcurrency: number;
    rawNpmConfig: Object;
    alwaysAuth: boolean;
}) => Got;
export default _default;
