export declare type IgnoreFunction = (filename: string) => boolean;
export interface FetchOptions {
    cachedTarballLocation: string;
    prefix: string;
    onStart?: (totalSize: number | null, attempt: number) => void;
    onProgress?: (downloaded: number) => void;
}
export default function (opts: {
    registry: string;
    rawNpmConfig: object;
    alwaysAuth?: boolean;
    proxy?: string;
    httpsProxy?: string;
    localAddress?: string;
    cert?: string;
    key?: string;
    ca?: string;
    strictSsl?: boolean;
    fetchRetries?: number;
    fetchRetryFactor?: number;
    fetchRetryMintimeout?: number;
    fetchRetryMaxtimeout?: number;
    userAgent?: string;
    ignoreFile?: IgnoreFunction;
    offline?: boolean;
}): {
    tarball: (resolution: {
        integrity?: string;
        registry?: string;
        tarball: string;
    }, target: string, opts: FetchOptions) => Promise<{}>;
};
