import { type Config } from '@pnpm/config'; import { type StoreController } from '@pnpm/package-store'; import { type CreateStoreControllerOptions } from '@pnpm/store-connection-manager'; import { type IncludedDependencies, type Project, type ProjectManifest, type ProjectsGraph } from '@pnpm/types'; import { type UpdateMatchingFunction } from '@pnpm/core'; import { type PreferredVersions } from '@pnpm/resolver-base'; export type RecursiveOptions = CreateStoreControllerOptions & Pick & { include?: IncludedDependencies; includeDirect?: IncludedDependencies; latest?: boolean; pending?: boolean; workspace?: boolean; allowNew?: boolean; forceHoistPattern?: boolean; forcePublicHoistPattern?: boolean; ignoredPackages?: Set; update?: boolean; updatePackageManifest?: boolean; updateMatching?: UpdateMatchingFunction; useBetaCli?: boolean; allProjectsGraph: ProjectsGraph; selectedProjectsGraph: ProjectsGraph; preferredVersions?: PreferredVersions; pruneDirectDependencies?: boolean; pruneLockfileImporters?: boolean; storeControllerAndDir?: { ctrl: StoreController; dir: string; }; pnpmfile: string[]; } & Partial> & Required>; export type CommandFullName = 'install' | 'add' | 'remove' | 'update' | 'import'; export declare function recursive(allProjects: Project[], params: string[], opts: RecursiveOptions, cmdFullName: CommandFullName): Promise; export declare function matchDependencies(match: (input: string) => string | null, manifest: ProjectManifest, include: IncludedDependencies): string[]; export type UpdateDepsMatcher = (input: string) => string | null; export declare function createMatcher(params: string[]): UpdateDepsMatcher; export declare function parseUpdateParam(param: string): { pattern: string; versionSpec: string | undefined; }; export declare function makeIgnorePatterns(ignoredDependencies: string[]): string[];