import { BodyparserOptions } from './bodyparser-options'; import { Application, HttpContext, HttpRequest, Middleware, NextHandler } from '@supercharge/contracts'; export declare class BodyparserMiddleware implements Middleware { /** * The application instance. */ protected readonly app: Application; /** * Create a new middleware instance. * * @param {Application} app */ constructor(app: Application); /** * Returns the options determining how to serve assets. * * @returns {CorsOptions} */ options(): BodyparserOptions; /** * Handle the incoming request. * * @param ctx HttpContext * @param next NextHandler */ handle({ request }: HttpContext, next: NextHandler): Promise; /** * Determine whether to parse incoming request body. * * @param {HttpRequest} request * * @returns {Boolean} */ shouldParsePayload(request: HttpRequest): boolean; /** * Determine whether to parse incoming request body. * * @param {HttpRequest} request * * @returns {Boolean} */ hasConfiguredMethod(request: HttpRequest): boolean; /** * Parse incoming request body and return the result. * * @param {HttpRequest} request * * @returns {Boolean} */ parse(request: HttpRequest): Promise; /** * Determine whether the given `request` contains a JSON body. * * @param {HttpRequest} request * * @returns {Boolean} */ protected isJson(request: HttpRequest): boolean; /** * Returns the parsed JSON data. * * @param {HttpRequest} request * * @returns {Boolean} */ parseJson(request: HttpRequest): Promise; /** * Determine whether the given `request` contains a text body. * * @param {HttpRequest} request * * @returns {Boolean} */ protected isText(request: HttpRequest): boolean; /** * Returns the parsed text data. * * @param {HttpRequest} request * * @returns {*} */ parseText(request: HttpRequest): Promise; /** * Determine whether the given `request` contains form-url-encoded data. * * @param {HttpRequest} request * * @returns {Boolean} */ protected isFormUrlEncoded(request: HttpRequest): boolean; /** * Returns the parsed form data. * * @param {HttpRequest} request * * @returns {*} */ parseFormUrlEncoded(request: HttpRequest): Promise; /** * Determine whether the given `request` contains multipart data. * * @param {HttpRequest} request * * @returns {Boolean} */ protected isMultipart(request: HttpRequest): boolean; /** * Returns the parsed multipart data. * * @param {HttpRequest} request * * @returns {*} */ parseMultipart(request: HttpRequest): Promise; /** * Fetch the incoming data from the given `request`. * * @param {HttpRequest} request * * @returns {*} */ collectBodyFrom(request: HttpRequest, options: { limit: number; }): Promise; }