import { NextApiRequest, NextApiResponse } from 'next'; import { Facade } from '../facade'; import { constructor } from '../types'; import { SupportedRequestMethods } from '../controller/execution'; import { MiddlewareProvider } from '../controller/middleware'; import { Middleware } from '../controller/types'; export declare class Controller extends Facade { private readonly beforeMiddleware; private readonly afterMiddleware; private readonly rescueMap; static configuration: { api: { bodyParser: boolean; }; }; constructor(); protected before(runner: Middleware): MiddlewareProvider; protected after(runner: Middleware): MiddlewareProvider; protected rescue(exceptionClass: constructor, func: (error: E, request: NextApiRequest, response: NextApiResponse) => any): this; handle(method: SupportedRequestMethods, request: NextApiRequest, response: NextApiResponse): Promise; get(_request: NextApiRequest, response: NextApiResponse): Promise; post(_request: NextApiRequest, response: NextApiResponse): Promise; delete(_request: NextApiRequest, response: NextApiResponse): Promise; patch(_request: NextApiRequest, response: NextApiResponse): Promise; put(_request: NextApiRequest, response: NextApiResponse): Promise; head(_request: NextApiRequest, response: NextApiResponse): Promise; options(_request: NextApiRequest, response: NextApiResponse): Promise; private notFound; }