import { InstallContext, PackageContentInfo } from '../api/install';
import { Dependencies } from '../types';
import { Got } from '../network/got';
import { ResolvedDependencies } from 'pnpm-shrinkwrap';
import { Resolution, PackageSpec, PackageMeta } from '../resolve';
export declare type PkgAddress = {
    nodeId: string;
    pkgId: string;
};
export declare type InstalledPackage = {
    id: string;
    resolution: Resolution;
    dev: boolean;
    optional: boolean;
    fetchingFiles: Promise<PackageContentInfo>;
    calculatingIntegrity: Promise<void>;
    path: string;
    specRaw: string;
    name: string;
    version: string;
    peerDependencies: Dependencies;
    optionalDependencies: Set<string>;
    hasBundledDependencies: boolean;
    localLocation: string;
};
export default function installMultiple(ctx: InstallContext, specs: PackageSpec[], options: {
    force: boolean;
    prefix: string;
    storePath: string;
    registry: string;
    metaCache: Map<string, PackageMeta>;
    got: Got;
    keypath: string[];
    parentNodeId: string;
    currentDepth: number;
    resolvedDependencies?: ResolvedDependencies;
    depth: number;
    engineStrict: boolean;
    nodeVersion: string;
    offline: boolean;
    isInstallable?: boolean;
    rawNpmConfig: Object;
    nodeModules: string;
    update: boolean;
}): Promise<PkgAddress[]>;
