import { LoggedPkg } from 'pnpm-logger';
import { Got } from '../network/got';
export declare type FetchOptions = {
    loggedPkg: LoggedPkg;
    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) => Promise<void>;
/**
 * 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): Promise<void>;
