import { Got } from '../network/got';
import { InstallLog } from '../install/fetch';
export declare type FetchOptions = {
    log: InstallLog;
    got: Got;
};
export declare type PackageDist = {
    tarball: string;
    shasum?: string;
};
export declare function createRemoteTarballFetcher(dist: PackageDist, opts: FetchOptions): (target: string) => Promise<void>;
export declare function createLocalTarballFetcher(dist: PackageDist): (target: string) => any;
/**
 * Fetches a tarball `tarball` and extracts it into `dir`
 */
export declare function fetchFromRemoteTarball(dir: string, dist: PackageDist, opts: FetchOptions): Promise<void>;
export declare function fetchFromLocalTarball(dir: string, dist: PackageDist): any;
