UNPKG

next-rest-framework

Version:

Next REST Framework - write type-safe, self-documenting REST APIs in Next.js

8 lines (7 loc) 2.7 kB
import { type BaseSchemaType, type NextRestFrameworkConfig, type OutputObject, type SchemaReturnType } from './types'; import { type DefineApiRouteParams } from './types/define-route'; import { type TypedNextApiRequest } from './types/request'; import { type NextApiResponse } from 'next/types'; export declare const defineApiRoute: ({ config }: { config: NextRestFrameworkConfig; }) => <GetBodySchema extends BaseSchemaType, GetQuerySchema extends import("zod").AnyZodObject, GetOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PutBodySchema extends BaseSchemaType, PutQuerySchema extends import("zod").AnyZodObject, PutOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PostBodySchema extends BaseSchemaType, PostQuerySchema extends import("zod").AnyZodObject, PostOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, DeleteBodySchema extends BaseSchemaType, DeleteQuerySchema extends import("zod").AnyZodObject, DeleteOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, OptionsBodySchema extends BaseSchemaType, OptionsQuerySchema extends import("zod").AnyZodObject, OptionsOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, HeadBodySchema extends BaseSchemaType, HeadQuerySchema extends import("zod").AnyZodObject, HeadOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PatchBodySchema extends BaseSchemaType, PatchQuerySchema extends import("zod").AnyZodObject, PatchOutput extends OutputObject<BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, BodySchema extends GetBodySchema & PutBodySchema & PostBodySchema & DeleteBodySchema & OptionsBodySchema & HeadBodySchema & PatchBodySchema, QuerySchema extends GetQuerySchema & PutQuerySchema & PostQuerySchema & DeleteQuerySchema & OptionsQuerySchema & HeadQuerySchema & PatchQuerySchema>(methodHandlers?: DefineApiRouteParams<GetBodySchema, GetQuerySchema, GetOutput, PutBodySchema, PutQuerySchema, PutOutput, PostBodySchema, PostQuerySchema, PostOutput, DeleteBodySchema, DeleteQuerySchema, DeleteOutput, OptionsBodySchema, OptionsQuerySchema, OptionsOutput, HeadBodySchema, HeadQuerySchema, HeadOutput, PatchBodySchema, PatchQuerySchema, PatchOutput>) => (req: TypedNextApiRequest<SchemaReturnType<BodySchema>, SchemaReturnType<QuerySchema>>, res: NextApiResponse) => Promise<void>;