import { Hono } from "hono"; import { MethodRegistry } from "./registry.js"; import type { Store } from "./storage/interface.js"; import type { MethodDeclaration, MethodResult, MethodContext, BeforeProcessor, AfterProcessor } from "./registry.js"; import type { McpAdapter } from "./protocols/mcp/types.js"; import type { A2aAdapter } from "./protocols/a2a/types.js"; import type { HttpAdapter } from "./protocols/http/types.js"; export interface JoinCloudServerOptions { store?: Store; } export declare class JoinCloudServer { readonly registry: MethodRegistry; readonly app: Hono; store: Store; constructor(options?: JoinCloudServerOptions); method(name: string, declaration: MethodDeclaration): void; before(name: string, processor: BeforeProcessor): void; after(name: string, processor: AfterProcessor): void; mcp(name: string, adapter: McpAdapter): void; a2a(name: string, adapter: A2aAdapter): void; http(name: string, adapter: HttpAdapter): void; call(methodName: string, params: unknown, options?: { roomId?: string; protocol?: MethodContext["protocol"]; protocolMeta?: Record; }): Promise; }