import { RouterConfig } from './route/router-config';
import { APIGatewayEvent, Context, ProxyResult } from 'aws-lambda';
import * as Route from 'route-parser';
import { RouteMapping } from './route/route-mapping';
/**
 * This class functions as the adapter from a default lamda function to the handlers exposed via Epsilon
 */
export declare class WebHandler {
    private routerConfig;
    private cacheApolloHandler;
    constructor(routerConfig: RouterConfig);
    lambdaHandler(event: APIGatewayEvent, context: Context): Promise<ProxyResult>;
    openApiLambdaHandler(event: APIGatewayEvent, context: Context): Promise<ProxyResult>;
    apolloLambdaHandler(event: APIGatewayEvent, context: Context): Promise<ProxyResult>;
    addCors(input: ProxyResult, srcEvent: APIGatewayEvent): ProxyResult;
    findHandler(event: APIGatewayEvent, context: Context, add404OnMissing?: boolean): Promise<any>;
    private cleanPath;
    private extendApiGatewayEvent;
    private applyBodyObjectValidation;
    private applyAuth;
}
export interface RouteAndParse {
    mapping: RouteMapping;
    route: Route;
    parsed: any;
}
