import { FetchedPackage, FetchOptions } from './fetch';
import { InstallContext } from '../api/install';
import { Dependencies } from '../types';
import { Package } from '../types';
export declare type InstallOptions = FetchOptions & {
    optional?: boolean;
    dependent: string;
    depth: number;
    engineStrict: boolean;
    nodeVersion: string;
};
export declare type MultipleInstallOpts = InstallOptions & {
    fetchingFiles: Promise<void>;
};
export declare type InstalledPackage = FetchedPackage & {
    pkg: Package;
    keypath: string[];
    optional: boolean;
    dependencies: InstalledPackage[];
};
export default function installAll(ctx: InstallContext, dependencies: Dependencies, optionalDependencies: Dependencies, modules: string, options: MultipleInstallOpts): Promise<InstalledPackage[]>;
