import { SSM } from 'aws-sdk' import { Options as AjvOptions } from 'ajv' import { HttpError } from 'http-errors' import middy from './' interface ICorsOptions { origin?: string; origins?: string[]; headers?: string; credentials?: boolean; } interface ICacheOptions { calculateCacheId?: (event: any) => Promise; getValue?: (key: string) => Promise; setValue?: (key: string) => Promise; } interface IDoNotWaitForEmtpyEventLoopOptions { runOnBefore?: boolean; runOnAfter?: boolean; runOnError?: boolean; } interface IHTTPContentNegotiationOptions { parseCharsets?: boolean; availableCharsets?: string[]; parseEncodings?: boolean; availableEncodings?: string[]; parseLanguages?: boolean; availableLanguages?: string[]; parseMediaTypes?: boolean; availableMediaTypes?: string[]; failOnMismatch?: boolean; } interface IHTTPErrorHandlerOptions { logger?: (error: HttpError) => void; } interface IHTTPHeaderNormalizerOptions { normalizeHeaderKey?: (key: string) => string; } interface IHTTPPartialResponseOptions { filteringKeyName?: string; } interface IJsonBodyParserOptions { reviver?: (key: string, value: any) => any } interface ISecretsManagerOptions { cache?: boolean; cacheExpiryInMillis?: number; secrets: { [key: string]: string; }; awsSdkOptions?: Partial; throwOnFailedCall?: boolean; } interface ISSMOptions { cache?: boolean; cacheExpiryInMillis?: number; paths?: { [key: string]: string; }; names?: { [key: string]: string; }; awsSdkOptions?: Partial; setToContext?: boolean; getParamNameFromPath?: (path: string, name: string, prefix: string) => string; } interface IValidatorOptions { inputSchema?: any; outputSchema?: any; ajvOptions?: Partial; } interface IURLEncodeBodyParserOptions { extended?: false; } interface IWarmupOptions { isWarmingUp?: (event: any) => boolean; onWarmup?: (event: any) => void; waitForEmptyEventLoop?: boolean; } interface IHTTPSecurityHeadersOptions { dnsPrefetchControl?: { allow?: Boolean }, expectCT?: { enforce?: Boolean, maxAge?: Number }, frameguard?: { action?: String }, hidePoweredBy?: { setTo: String }, hsts?: { maxAge?: Number, includeSubDomains?: Boolean, preload?: Boolean }, ieNoOpen?: { action?: String }, noSniff?: { action?: String }, referrerPolicy?: { policy?: String }, xssFilter?: Object } declare const cache: middy.Middleware; declare const cors: middy.Middleware; declare const doNotWaitForEmptyEventLoop: middy.Middleware; declare const httpContentNegotiation: middy.Middleware; declare const httpErrorHandler: middy.Middleware; declare const httpEventNormalizer: middy.Middleware; declare const httpHeaderNormalizer: middy.Middleware; declare const httpPartialResponse: middy.Middleware; declare const jsonBodyParser: middy.Middleware; declare const multipartFormDataParser: middy.Middleware; declare const s3KeyNormalizer: middy.Middleware; declare const secretsManager: middy.Middleware; declare const ssm: middy.Middleware; declare const validator: middy.Middleware; declare const urlEncodeBodyParser: middy.Middleware; declare const warmup: middy.Middleware; declare const httpSecurityHeaders: middy.Middleware; export as namespace middlewares;