import type { ExecutionContext, Fetcher, Request } from '@cloudflare/workers-types/experimental'; export declare class ApiResponse extends Response { constructor(status?: number, content?: unknown); } export declare class ErrorResponse extends ApiResponse { constructor(status: number, message: string); } export declare function wrapFetch(handler: (req: Request, env: Env, ctx: ExecutionContext) => unknown): (req: Request, env: Env, ctx: ExecutionContext) => Promise; export declare function decodeRequest(req: Request): Promise<{ method: string; params: Record; }>; export type RequestType = { method: string; params: Record; response: void | Record; }; export declare function rpc(remote: Fetcher, method: T['method'], params: T['params']): Promise; export declare class ApiError extends Error { readonly statusCode: number; constructor(statusCode: number, message: string); } //# sourceMappingURL=rpc.d.ts.map