/** * Copyright 2023 Fluence Labs Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import type { FluenceConfig, FluenceConfigReadonly } from "../configs/project/fluence.js"; declare const packageManagers: readonly ["npm", "cargo"]; type PackageManager = (typeof packageManagers)[number]; type UpdateFluenceConfigIfVersionChangedArgs = { maybeFluenceConfig: FluenceConfig | null; name: string; version: string; packageManager: PackageManager; }; export declare const updateConfigsIfVersionChanged: ({ global, maybeFluenceConfig, ...restArgs }: UpdateFluenceConfigIfVersionChangedArgs & { global: boolean; }) => Promise; type ResolveVersionArg = { name: string; maybeVersion: string | undefined; packageManager: PackageManager; maybeFluenceConfig: FluenceConfig | null; }; export declare const resolveVersionToInstall: ({ name, maybeVersion, packageManager, maybeFluenceConfig, }: ResolveVersionArg) => Promise<{ versionToInstall: string; } | { maybeVersionToCheck: string | undefined; }>; type ResolveDependencyDirPathAndTmpPath = { name: string; version: string; packageManager: PackageManager; }; export declare const resolveDependencyDirPathAndTmpPath: ({ name, version, packageManager, }: ResolveDependencyDirPathAndTmpPath) => Promise<{ dependencyTmpDirPath: string; dependencyDirPath: string; }>; type HandleInstallationArg = { force: boolean; installDependency: () => Promise; dependencyDirPath: string; dependencyTmpDirPath: string; name: string; version: string; explicitInstallation: boolean; }; export declare const handleInstallation: ({ force, installDependency, dependencyDirPath, dependencyTmpDirPath, explicitInstallation, name, version, }: HandleInstallationArg) => Promise; export declare const splitPackageNameAndVersion: (packageNameAndMaybeVersion: string) => [string] | [string, string]; export declare const getRecommendedDependencies: (packageManager: PackageManager) => { [k: string]: string; }; export declare const resolveDependencies: (packageManager: PackageManager, maybeFluenceConfig: FluenceConfigReadonly | null, doWarn?: boolean) => Promise>; export {};