/** * 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 { FluenceConfigReadonly } from "../lib/configs/project/fluence.js"; import { type ModuleConfigReadonly } from "../lib/configs/project/module.js"; import { type ServiceModuleV0, type ServiceConfigReadonly } from "../lib/configs/project/service.js"; import type { MarineCLI } from "../lib/marineCli.js"; type ModuleNameAndConfigDefinedInService = { moduleName: string; moduleConfig: ServiceModuleV0; }; type ServiceInfoWithUnresolvedModuleConfigs = { serviceName: string; serviceDirPath: string; moduleNamesAndConfigsDefinedInService: Array; }; type ServiceInfo = Omit & { moduleConfigs: Array; }; type ResolveServiceInfosArg = { fluenceConfig: FluenceConfigReadonly; }; type BuildArg = ResolveServiceInfosArg & { marineCli: MarineCLI; marineBuildArgs: string | undefined; }; export declare const build: ({ marineCli, marineBuildArgs, ...resolveDeployInfosArg }: BuildArg) => Promise>; export declare const resolveSingleServiceModuleConfigsAndBuild: (serviceConfig: ServiceConfigReadonly, maybeFluenceConfig: FluenceConfigReadonly | undefined | null, marineCli: MarineCLI, marineBuildArgs: string | undefined) => Promise<{ moduleConfigs: { maxHeapSize?: string; loggerEnabled?: boolean; loggingMask?: number; volumes?: Record; envs?: Record; mountedBinaries?: Record; version: 0; name: string; type?: "rust" | "compiled"; $getPath(): string; $getDirPath(): string; $getConfigString(): string; $validateLatest: import("ajv").ValidateFunction; }[]; facadeModuleConfig: { maxHeapSize?: string; loggerEnabled?: boolean; loggingMask?: number; volumes?: Record; envs?: Record; mountedBinaries?: Record; version: 0; name: string; type?: "rust" | "compiled"; $getPath(): string; $getDirPath(): string; $getConfigString(): string; $validateLatest: import("ajv").ValidateFunction; }; }>; export declare const buildModules: (modulesConfigs: ModuleConfigReadonly[], marineCli: MarineCLI, marineBuildArgs: string | undefined, maybeFluenceConfig: FluenceConfigReadonly | undefined | null) => Promise; export {};