import { FilterFunction } from '../../config/http/filter-function.js';
import { FilterChainContext } from '../../config/http/filter-chain-context.js';
import { EpsilonCorsApproach } from '../../config/http/epsilon-cors-approach.js';
export declare class BuiltInFilters {
    static readonly MAXIMUM_LAMBDA_BODY_SIZE_BYTES: number;
    static combineFilters(fCtx: FilterChainContext, filters: FilterFunction[]): Promise<boolean>;
    static applyGzipIfPossible(fCtx: FilterChainContext): Promise<boolean>;
    static addConstantHeaders(fCtx: FilterChainContext, headers: Record<string, string>): Promise<boolean>;
    static addAWSRequestIdHeader(fCtx: FilterChainContext, headerName?: string): Promise<boolean>;
    static addAllowEverythingCORSHeaders(fCtx: FilterChainContext): Promise<boolean>;
    static addAllowReflectionCORSHeaders(fCtx: FilterChainContext): Promise<boolean>;
    static uriDecodeQueryParams(fCtx: FilterChainContext): Promise<boolean>;
    private static decodeUriComponentAndReplacePlus;
    static fixStillEncodedQueryParams(fCtx: FilterChainContext): Promise<boolean>;
    static createRestrictServerToHostNamesFilter(hostnameRegExList: RegExp[]): FilterFunction;
    static disallowStringNullAsPathParameter(fCtx: FilterChainContext): Promise<boolean>;
    static disallowStringNullAsQueryStringParameter(fCtx: FilterChainContext): Promise<boolean>;
    static ensureEventMaps(fCtx: FilterChainContext): Promise<boolean>;
    static parseJsonBodyToObject(fCtx: FilterChainContext): Promise<boolean>;
    static checkMaximumLambdaBodySize(fCtx: FilterChainContext): Promise<boolean>;
    static validateInboundBody(fCtx: FilterChainContext): Promise<boolean>;
    static validateInboundQueryParams(_fCtx: FilterChainContext): Promise<boolean>;
    static validateInboundPathParams(_fCtx: FilterChainContext): Promise<boolean>;
    static validateOutboundResponse(fCtx: FilterChainContext): Promise<boolean>;
    static autoRespondToOptionsRequestWithCors(fCtx: FilterChainContext, corsMethod?: EpsilonCorsApproach): Promise<boolean>;
    static autoRespond(fCtx: FilterChainContext, inBody: any): Promise<boolean>;
    static secureOutboundServerErrorForProduction(fCtx: FilterChainContext, errorMessage: string, errCode: number): Promise<boolean>;
    static addCorsHeadersDynamically(fCtx: FilterChainContext, corsMethod: EpsilonCorsApproach): Promise<void>;
}
