type RpcAuthPolicy = 'public' | 'required'; interface RpcParameterManifest { name: string; type: string; optional: boolean; } interface RpcMethodManifest { name: string; handlerName: string; requireAuth: boolean; parameters: RpcParameterManifest[]; returnType: string; } interface RpcServiceManifest { name: string; className: string; importPath: string; requireAuth: boolean; methods: RpcMethodManifest[]; } interface RpcManifest { schemaVersion: 1; services: RpcServiceManifest[]; } interface RpcInvocationRequest { args: unknown[]; } interface RpcInvocationResponse { data: T; } export type { RpcAuthPolicy as R, RpcManifest as a, RpcInvocationRequest as b, RpcInvocationResponse as c, RpcMethodManifest as d, RpcParameterManifest as e, RpcServiceManifest as f };