import { type NextRestFrameworkConfig } from './types';
export declare const NextRestFramework: (_config?: NextRestFrameworkConfig) => {
    defineCatchAllRoute: (methodHandlers?: import("./types/define-route").DefineRouteParams<import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>>) => (req: import("next/server").NextRequest, context: {
        params: Record<string, unknown>;
    }) => Promise<void | import("next/server").NextResponse<any>>;
    defineCatchAllApiRoute: (methodHandlers?: import("./types/define-route").DefineApiRouteParams<import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, import("./types").BaseSchemaType, import("zod").AnyZodObject, import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>>) => (req: import("next/types").NextApiRequest, res: import("next/types").NextApiResponse) => Promise<void>;
    defineRoute: <GetBodySchema extends import("./types").BaseSchemaType, GetQuerySchema extends import("zod").AnyZodObject, GetOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PutBodySchema extends import("./types").BaseSchemaType, PutQuerySchema extends import("zod").AnyZodObject, PutOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PostBodySchema extends import("./types").BaseSchemaType, PostQuerySchema extends import("zod").AnyZodObject, PostOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, DeleteBodySchema extends import("./types").BaseSchemaType, DeleteQuerySchema extends import("zod").AnyZodObject, DeleteOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, OptionsBodySchema extends import("./types").BaseSchemaType, OptionsQuerySchema extends import("zod").AnyZodObject, OptionsOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, HeadBodySchema extends import("./types").BaseSchemaType, HeadQuerySchema extends import("zod").AnyZodObject, HeadOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PatchBodySchema extends import("./types").BaseSchemaType, PatchQuerySchema extends import("zod").AnyZodObject, PatchOutput extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, BodySchema extends GetBodySchema & PutBodySchema & PostBodySchema & DeleteBodySchema & OptionsBodySchema & HeadBodySchema & PatchBodySchema, QuerySchema extends GetQuerySchema & PutQuerySchema & PostQuerySchema & DeleteQuerySchema & OptionsQuerySchema & HeadQuerySchema & PatchQuerySchema>(methodHandlers?: import("./types/define-route").DefineRouteParams<GetBodySchema, GetQuerySchema, GetOutput, PutBodySchema, PutQuerySchema, PutOutput, PostBodySchema, PostQuerySchema, PostOutput, DeleteBodySchema, DeleteQuerySchema, DeleteOutput, OptionsBodySchema, OptionsQuerySchema, OptionsOutput, HeadBodySchema, HeadQuerySchema, HeadOutput, PatchBodySchema, PatchQuerySchema, PatchOutput>) => (req: import("./types/request").TypedNextRequest<import("./types").SchemaReturnType<BodySchema>>, context: {
        params: import("./types").SchemaReturnType<QuerySchema>;
    }) => Promise<void | import("next/server").NextResponse<unknown>>;
    defineApiRoute: <GetBodySchema_1 extends import("./types").BaseSchemaType, GetQuerySchema_1 extends import("zod").AnyZodObject, GetOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PutBodySchema_1 extends import("./types").BaseSchemaType, PutQuerySchema_1 extends import("zod").AnyZodObject, PutOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PostBodySchema_1 extends import("./types").BaseSchemaType, PostQuerySchema_1 extends import("zod").AnyZodObject, PostOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, DeleteBodySchema_1 extends import("./types").BaseSchemaType, DeleteQuerySchema_1 extends import("zod").AnyZodObject, DeleteOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, OptionsBodySchema_1 extends import("./types").BaseSchemaType, OptionsQuerySchema_1 extends import("zod").AnyZodObject, OptionsOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, HeadBodySchema_1 extends import("./types").BaseSchemaType, HeadQuerySchema_1 extends import("zod").AnyZodObject, HeadOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, PatchBodySchema_1 extends import("./types").BaseSchemaType, PatchQuerySchema_1 extends import("zod").AnyZodObject, PatchOutput_1 extends import("./types").OutputObject<import("./types").BaseSchemaType, number, import("./types").AnyContentTypeWithAutocompleteForMostCommonOnes>, BodySchema_1 extends GetBodySchema_1 & PutBodySchema_1 & PostBodySchema_1 & DeleteBodySchema_1 & OptionsBodySchema_1 & HeadBodySchema_1 & PatchBodySchema_1, QuerySchema_1 extends GetQuerySchema_1 & PutQuerySchema_1 & PostQuerySchema_1 & DeleteQuerySchema_1 & OptionsQuerySchema_1 & HeadQuerySchema_1 & PatchQuerySchema_1>(methodHandlers?: import("./types/define-route").DefineApiRouteParams<GetBodySchema_1, GetQuerySchema_1, GetOutput_1, PutBodySchema_1, PutQuerySchema_1, PutOutput_1, PostBodySchema_1, PostQuerySchema_1, PostOutput_1, DeleteBodySchema_1, DeleteQuerySchema_1, DeleteOutput_1, OptionsBodySchema_1, OptionsQuerySchema_1, OptionsOutput_1, HeadBodySchema_1, HeadQuerySchema_1, HeadOutput_1, PatchBodySchema_1, PatchQuerySchema_1, PatchOutput_1>) => (req: import("./types/request").TypedNextApiRequest<import("./types").SchemaReturnType<BodySchema_1>, import("./types").SchemaReturnType<QuerySchema_1>>, res: import("next/types").NextApiResponse) => Promise<void>;
};
