import type { CommandHandler } from '@pnpm/cli.command'; import type { Config, ConfigContext } from '@pnpm/config.reader'; import { type DryRunInstallResult, type UpdateMatchingFunction } from '@pnpm/installing.deps-installer'; import type { LockfileObject } from '@pnpm/lockfile.types'; import { type CreateStoreControllerOptions } from '@pnpm/store.connection-manager'; import type { IncludedDependencies, PackageVulnerabilityAudit } from '@pnpm/types'; export type InstallDepsOptions = Pick & Pick & Partial> & CreateStoreControllerOptions & { argv: { cooked?: string[]; original: string[]; remain?: string[]; }; allowNew?: boolean; forceFullResolution?: boolean; frozenLockfileIfExists?: boolean; include?: IncludedDependencies; includeDirect?: IncludedDependencies; latest?: boolean; /** * If specified, the installation will only be performed for comparison of the * wanted lockfile. The wanted lockfile will not be updated on disk and no * modules will be linked. * * The given callback is passed the wanted lockfile before installation and * after. This allows functions to reasonably determine whether the wanted * lockfile will change on disk after installation. The lockfile arguments * passed to this callback should not be mutated. */ lockfileCheck?: (prev: LockfileObject, next: LockfileObject) => void; update?: boolean; updateToLatest?: boolean; updateMatching?: UpdateMatchingFunction; updatePackageManifest?: boolean; useBetaCli?: boolean; recursive?: boolean; dedupe?: boolean; workspace?: boolean; includeOnlyPackageFiles?: boolean; fetchFullMetadata?: boolean; pruneLockfileImporters?: boolean; rebuildHandler?: CommandHandler; pnpmfile: string[]; packageVulnerabilityAudit?: PackageVulnerabilityAudit; /** * `true` when this call originated from `pnpm install` (or `pnpm i`), * `false`/`undefined` for `add`, `update`, `dedupe`, etc. Used to gate * which pnpm CLI flags are safe to forward to pacquet's `install` * subcommand — see `runPacquet.ts`'s `noRuntime` opt. */ isInstallCommand?: boolean; } & Partial>; export declare function installDeps(opts: InstallDepsOptions, params: string[]): Promise;