import { ProjectOptions } from '@pnpm/get-context'; import { PreferredVersions } from '@pnpm/resolver-base'; import { DependenciesField, ProjectManifest } from '@pnpm/types'; import { InstallOptions } from './extendInstallOptions'; import { PinnedVersion, WantedDependency } from './getWantedDependencies'; export declare type DependenciesMutation = ({ buildIndex: number; mutation: 'install'; pruneDirectDependencies?: boolean; } | { allowNew?: boolean; dependencySelectors: string[]; mutation: 'installSome'; peer?: boolean; pruneDirectDependencies?: boolean; pinnedVersion?: PinnedVersion; targetDependenciesField?: DependenciesField; } | { mutation: 'uninstallSome'; dependencyNames: string[]; targetDependenciesField?: DependenciesField; } | { mutation: 'unlink'; } | { mutation: 'unlinkSome'; dependencyNames: string[]; }) & ({ manifest: ProjectManifest; }); export declare function install(manifest: ProjectManifest, opts: InstallOptions & { preferredVersions?: PreferredVersions; }): Promise; export declare type MutatedProject = ProjectOptions & DependenciesMutation; export declare function mutateModules(projects: MutatedProject[], maybeOpts: InstallOptions & { preferredVersions?: PreferredVersions; }): Promise<{ rootDir: string; manifest: ProjectManifest; }[]>; export declare function createObjectChecksum(obj: Object): string; export declare function addDependenciesToPackage(manifest: ProjectManifest, dependencySelectors: string[], opts: InstallOptions & { allowNew?: boolean; peer?: boolean; pinnedVersion?: 'major' | 'minor' | 'patch'; targetDependenciesField?: DependenciesField; }): Promise; export declare type ImporterToUpdate = { binsDir: string; id: string; manifest: ProjectManifest; originalManifest?: ProjectManifest; modulesDir: string; rootDir: string; pruneDirectDependencies: boolean; removePackages?: string[]; updatePackageManifest: boolean; wantedDependencies: Array; } & DependenciesMutation;