import { NextApiRequest, NextApiResponse } from 'next'; import type { NextRequest } from 'next/server'; import type { AdapterBaseOptions } from '../types'; import { default as AppRouteHandler } from './app-route-handler'; import { default as PagesRouteHandler } from './pages-route-handler'; /** * Options for initializing a Next.js API endpoint request handler. */ export interface PagesRouteRequestHandlerOptions extends AdapterBaseOptions { /** * Callback method for getting a Prisma instance for the given request/response pair. */ getPrisma: (req: NextApiRequest, res: NextApiResponse) => Promise | unknown; /** * Use Next.js 13 app dir or not */ useAppDir?: false | undefined; } /** * Options for initializing a Next.js 13 app dir API route handler. */ export interface AppRouteRequestHandlerOptions extends AdapterBaseOptions { /** * Callback method for getting a Prisma instance for the given request. */ getPrisma: (req: NextRequest) => Promise | unknown; /** * Use Next.js 13 app dir or not */ useAppDir: true; } /** * Creates a Next.js API route handler. * @see https://zenstack.dev/docs/reference/server-adapters/next */ export declare function NextRequestHandler(options: PagesRouteRequestHandlerOptions): ReturnType; export declare function NextRequestHandler(options: AppRouteRequestHandlerOptions): ReturnType; export { PagesRouteRequestHandlerOptions as RequestHandlerOptions };