import Class from "../../types/Class"; /** * Builder interface for creating actor proxies. * Used to instantiate client-side proxy objects that wrap actor communication. */ export default interface IClientActor { /** * Creates a strongly-typed proxy instance for actor communication. * The proxy handles serialization and remoting of method calls to the actual actor instance. * * @typeParam T - The actor interface or class type to create a proxy for. * @param actorTypeClass - The class or interface representing the actor type. * @returns A proxy instance that implements the provided actor interface. * * @example * ```ts * interface UserActor { * getId(): Promise; * setName(name: string): Promise; * } * * const actor = client.actor.create(UserActor); * const id = await actor.getId(); * ``` * * @see https://docs.dapr.io/developing-applications/building-blocks/actors/ */ create(actorTypeClass: Class): T; }