import { FetchedPackage } from './fetch';
import { InstallContext } from '../api/install';
import { Dependencies } from '../types';
import { Package } from '../types';
import { PackageMeta } from '../resolve/utils/loadPackageMeta';
import { Got } from '../network/got';
import { ResolvedDependencies } from '../fs/shrinkwrap';
export declare type InstalledPackage = FetchedPackage & {
    pkg: Package;
    keypath: string[];
    optional: boolean;
    dependencies: InstalledPackage[];
    hardlinkedLocation: string;
    modules: string;
};
export default function installAll(ctx: InstallContext, dependencies: Dependencies, optionalDependencies: Dependencies, modules: string, options: {
    force: boolean;
    root: string;
    storePath: string;
    metaCache: Map<string, PackageMeta>;
    tag: string;
    got: Got;
    keypath?: string[];
    resolvedDependencies?: ResolvedDependencies;
    depth: number;
    engineStrict: boolean;
    nodeVersion: string;
    baseNodeModules: string;
    fetchingFiles?: Promise<Boolean>;
}): Promise<InstalledPackage[]>;
