/** * 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 { JSONValue } from "@fluencelabs/interfaces"; import type { MarineBackgroundInterface, JSONValueNonNullable, CallParameters } from "@fluencelabs/marine-worker"; import { ModuleThread } from "@fluencelabs/threads/master"; import { IMarineHost } from "../interfaces.js"; export declare class MarineBackgroundRunner implements IMarineHost { private marineJsWasm; private avmWasm; private workerThread; private loggers; constructor(marineJsWasm: ArrayBuffer, avmWasm: ArrayBuffer, workerThread: ModuleThread); hasService(serviceId: string): Promise; removeService(serviceId: string): Promise; start(): Promise; createService(serviceModule: ArrayBuffer | SharedArrayBuffer, serviceId: string): Promise; callService(serviceId: string, functionName: string, args: Array | Record, callParams?: CallParameters): Promise; stop(): Promise; }