import type { NextApiRequest, NextApiResponse } from 'next';
import type * as v from 'valibot';
/**
 * Creates a Vercel API handler with schema validation
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function createVercelHandler<TRequest, TResponse>(defaultSchema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>, handler: (req: NextApiRequest, res: NextApiResponse, validatedData: TRequest) => Promise<TResponse>): (req: NextApiRequest, res: NextApiResponse, customSchema?: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>> | undefined) => Promise<TResponse>;
/**
 * Creates a Vercel API handler with method validation and schema validation
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function createVercelApiHandler<TRequest, TResponse>(method: string, defaultSchema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>, handler: (req: NextApiRequest, res: NextApiResponse, validatedData: TRequest) => Promise<TResponse>): (req: NextApiRequest, res: NextApiResponse, customSchema?: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>) => Promise<TResponse>;
