import type { JWT } from '@becomes/purple-cheetah-mod-jwt/types'; import type { HTTPError, Logger, ObjectSchema } from '@becomes/purple-cheetah/types'; import type { Request } from 'express'; import type { BCMSApiKey } from '../../api'; import type { BCMSUserCustomPool } from '../../user'; export interface BCMSFunctionConfig { /** * Will be converted to lowercase without * special characters and spaces will be * replaced with "-". */ name: string; /** * If set to "true", anyone can call this * function. Defaults to "false". */ public?: boolean; } export declare const BCMSFunctionConfigSchema: ObjectSchema; export interface BCMSFunction { config: BCMSFunctionConfig; handler(data: { request: Request; errorHandler: HTTPError; logger: Logger; auth: BCMSApiKey | JWT; }): Promise; } export declare const BCMSFunctionSchema: ObjectSchema;