import { YupSchema, YupSchemaResult } from '../../utils'; import { RpcResponseError } from '../adapters/errors'; import { RpcRequest } from '../request'; import { RpcServer } from '../server'; import { ApiNamespace } from './namespaces'; import { RpcContext } from './rpcContext'; export declare const ALL_API_NAMESPACES: import("../../utils").StrEnumValue[]; export type RouteHandler = (request: RpcRequest, context: RpcContext) => Promise | void; export declare class RouteNotFoundError extends RpcResponseError { constructor(route: string, namespace: string, method: string); } export declare function parseRoute(route: string): [namespace: string | undefined, method: string | undefined]; export declare class Router { routes: Routes; server: RpcServer; constructor(routes: Routes, server: RpcServer); route(route: string, request: RpcRequest): Promise; } declare class Routes { routes: Map>; get(namespace: string, method: string): { handler: RouteHandler; schema: YupSchema; } | undefined; register(route: string, requestSchema: TRequestSchema, handler: RouteHandler, TResponse>): void; filter(namespaces: string[]): Routes; } export declare const routes: Routes; export {}; //# sourceMappingURL=router.d.ts.map