/**
 * @fileoverview Base Vercel function that handles all common concerns
 * @description Rate limiting, monitoring, authentication, validation - all in one place
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
import * as v from 'valibot';
import type { SecurityContext } from '@donotdev/core';
import type { AuthProvider } from '../shared/utils/internal/auth.js';
import type { NextApiRequest, NextApiResponse } from 'next';
/**
 * Base Vercel function that handles all common concerns
 * Users just provide their business logic
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function createVercelBaseFunction<TRequest, TResponse>(method: string, schema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>, operation: string, businessLogic: (req: NextApiRequest, res: NextApiResponse, data: TRequest, context: {
    uid: string;
}) => Promise<TResponse>, security?: SecurityContext, 
/** Auth provider for token verification. Auto-detects via provider registry if omitted. */
provider?: AuthProvider): (req: NextApiRequest, res: NextApiResponse) => Promise<TResponse>;
