import { FilterFunction } from '../../config/http/filter-function';
import { FilterChainContext } from '../../config/http/filter-chain-context';
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>;
    /**
     * Performs decodeURIComponent on a value after replacing all "+" values with spaces.
     */
    private static decodeUriComponentAndReplacePlus;
    static fixStillEncodedQueryParams(fCtx: FilterChainContext): Promise<boolean>;
    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): Promise<boolean>;
    static autoRespond(fCtx: FilterChainContext, inBody: any): Promise<boolean>;
    static secureOutboundServerErrorForProduction(fCtx: FilterChainContext, errorMessage: string, errCode: number): Promise<boolean>;
}
