/// import { IncomingMessage, ServerResponse } from 'http'; import { PreviewData } from 'next/types'; import { NextApiRequest, NextApiResponse } from '../lib/utils'; export declare type NextApiRequestCookies = { [key: string]: string; }; export declare type NextApiRequestQuery = { [key: string]: string | string[]; }; export declare type __ApiPreviewProps = { previewModeId: string; previewModeEncryptionKey: string; previewModeSigningKey: string; }; export declare function apiResolver(req: IncomingMessage, res: ServerResponse, query: any, resolverModule: any, apiContext: __ApiPreviewProps, propagateError: boolean): Promise; /** * Parse incoming message like `json` or `urlencoded` * @param req request object */ export declare function parseBody(req: NextApiRequest, limit: string | number): Promise; /** * Parse cookies from `req` header * @param req request object */ export declare function getCookieParser(req: IncomingMessage): () => NextApiRequestCookies; /** * * @param res response object * @param statusCode `HTTP` status code of response */ export declare function sendStatusCode(res: NextApiResponse, statusCode: number): NextApiResponse; /** * * @param res response object * @param [statusOrUrl] `HTTP` status code of redirect * @param url URL of redirect */ export declare function redirect(res: NextApiResponse, statusOrUrl: string | number, url?: string): NextApiResponse; /** * Send `any` body to response * @param req request object * @param res response object * @param body of response */ export declare function sendData(req: NextApiRequest, res: NextApiResponse, body: any): void; /** * Send `JSON` object * @param res response object * @param jsonBody of data */ export declare function sendJson(res: NextApiResponse, jsonBody: any): void; export declare const SYMBOL_PREVIEW_DATA: unique symbol; export declare function tryGetPreviewData(req: IncomingMessage, res: ServerResponse, options: __ApiPreviewProps): PreviewData; /** * Custom error class */ export declare class ApiError extends Error { readonly statusCode: number; constructor(statusCode: number, message: string); } /** * Sends error in `response` * @param res response object * @param statusCode of response * @param message of response */ export declare function sendError(res: NextApiResponse, statusCode: number, message: string): void; interface LazyProps { req: NextApiRequest; } /** * Execute getter function only if its needed * @param LazyProps `req` and `params` for lazyProp * @param prop name of property * @param getter function to get data */ export declare function setLazyProp({ req }: LazyProps, prop: string, getter: () => T): void; export {};