import { Static, TObject, TSchema } from "@sinclair/typebox"; import * as LambdaProxy from "./lambda-proxy"; import { ParameterDefinition } from "./parameter"; import { Router } from "./router"; type ParameterType = string extends keyof T ? Record : Static>; type ExtractParameter; }> = { [P in keyof T]: T[P]["def"]; }; export declare class RoutingContext; }, U extends { [P in keyof U]: TSchema; } = Record> { readonly router: Router; readonly request: LambdaProxy.Event; readonly requestId: string | undefined; private pathParams; get headers(): LambdaProxy.Event["headers"]; get params(): ParameterType & ParameterType> & { [key: string]: unknown; }; get bodyJSON(): object | string | undefined; private readonly validatedParams; private normalizedHeaders; constructor(router: Router, request: LambdaProxy.Event, requestId: string | undefined, pathParams: { [key: string]: string; }); validateAndUpdateParams(parameterDefinitionMap: { [key: string]: ParameterDefinition; }): void; json(json: any, statusCode?: number, headers?: NonNullable): LambdaProxy.Response; private castJSON; private decodeURI; private normalizeHeaders; } export {};