/// import { DaprClient } from "../.."; import IClient from "../../interfaces/Client/IClient"; import { ActorRuntimeOptions } from "../../types/actors/ActorRuntimeOptions"; import Class from "../../types/Class"; import AbstractActor from "./AbstractActor"; import ActorManager from "./ActorManager"; /** * Creates instances of "Actor" and activates and deactivates "Actor" */ export default class ActorRuntime { private static instance; private readonly daprClient; private actorManagers; private constructor(); static getInstanceByDaprClient(daprClient: DaprClient): ActorRuntime; static getInstance(client: IClient): ActorRuntime; registerActor(actorCls: Class): void; getRegisteredActorTypes(): string[]; getActorRuntimeOptions(): ActorRuntimeOptions; setActorRuntimeOptions(options: ActorRuntimeOptions): void; clearActorManagers(): void; getActorManager(actorTypeName: string): ActorManager; /** * Invokes a method on the actor from the runtime * This method will open the manager for the actor type and get the matching object * It will then invoke the method on this object * * @param actorTypeName * @param actorId * @param actorMethodName * @param payload * @returns */ invoke(actorTypeName: string, actorId: string, actorMethodName: string, requestBody?: Buffer): Promise; /** * Fires a reminder for the actor * * @param actorTypeName the name fo the actor type * @param actorId the actor id * @param name the name of the reminder * @param requestBody the body passed to the reminder callback */ fireReminder(actorTypeName: string, actorId: string, name: string, requestBody?: Buffer): Promise; /** * Fires a timer for the actor * * @param actorTypeName the name fo the actor type * @param actorId the actor id * @param name the name of the timer * @param requestBody the body passed to the timer callback */ fireTimer(actorTypeName: string, actorId: string, name: string, requestBody?: Buffer): Promise; deactivate(actorTypeName: string, actorId: string): Promise; }