import { TSchema } from "@sinclair/typebox"; import { Response } from "./lambda-proxy"; import { Route } from "./route"; import { RoutingContext } from "./routing-context"; type MergeParams = string extends keyof U ? T : T & U; export declare class Namespace { readonly path: string; readonly params: T; readonly options: { before?: (this: RoutingContext>) => Promise; exceptionHandler?: ExceptionHandler>; /** * All the params are from 'PATH'. namespace currently won't support query param validation or access */ children: Routes>; }; constructor(path: string, params: T, options: { before?: (this: RoutingContext>) => Promise; exceptionHandler?: ExceptionHandler>; /** * All the params are from 'PATH'. namespace currently won't support query param validation or access */ children: Routes>; }); get before(): ((this: RoutingContext>) => Promise) | undefined; get children(): Routes>; get exceptionHandler(): ExceptionHandler> | undefined; } export type ExceptionHandler = (this: RoutingContext, error: Error) => Promise; export type Routes = Array | Route>; export {};