/** * Client: a reference to a capability (local, remote, or promised). * * Generated interface clients (e.g. `Calculator_Client`) wrap a Client and expose typed * methods. Lifetime is explicit: disposing a client releases its slot in the * connection's import table (sending a Release message). Both `dispose()` and * `Symbol.dispose` are provided; `using` works where the runtime supports it. */ import { Struct, StructCtor } from "../serialization/pointers/struct"; import { RemotePromise } from "./remote-promise"; import type { Answer, Conn, Question } from "./conn"; import type { Server } from "./server"; /** Metadata describing one interface method; emitted by codegen. */ export interface Method
{ interfaceId: bigint; interfaceName: string; methodId: number; methodName: string; ParamsClass: StructCtor
;
ResultsClass: StructCtor = ((params: P) => void) | object;
/** Apply a ParamsInit to a freshly allocated params struct. */
export declare function applyParams (init: ParamsInit | undefined, params: P): void;
/** Generated RemotePromise subclasses must be constructible with no arguments. */
export type RemotePromiseCtor = RemotePromise , paramsFunc?: ParamsInit , PromiseClass?: RemotePromiseCtor