import type { CallableRequest } from 'firebase-functions/v2/https';
import type * as v from 'valibot';
/**
 * Creates a Firebase onCall function with schema validation
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function createFirebaseCallable<TRequest, TResponse>(config: any, defaultSchema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>, handler: (request: CallableRequest<TRequest>, validatedData: TRequest) => Promise<TResponse>): {
    onCall: import("firebase-functions/https").CallableFunction<TRequest, Promise<TResponse>, unknown>;
    withSchema: (request: CallableRequest<TRequest>, customSchema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>) => Promise<TResponse>;
};
/**
 * Creates both onCall and withSchema exports for a Firebase function
 *
 * @version 0.1.0
 * @since 0.0.1
 * @author AMBROISE PARK Consulting
 */
export declare function createFirebaseFunctionExports<TRequest, TResponse>(config: any, defaultSchema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>, handler: (request: CallableRequest<TRequest>, validatedData: TRequest) => Promise<TResponse>): {
    [x: string]: import("firebase-functions/https").CallableFunction<TRequest, Promise<TResponse>, unknown> | ((request: CallableRequest<TRequest>, customSchema: v.BaseSchema<unknown, TRequest, v.BaseIssue<unknown>>) => Promise<TResponse>);
};
