import { FunctionsController } from "./controllers/functions.controller"; import { HttpClientController } from "./controllers/http-client.controller"; import { SocketController } from "./controllers/socket.controller"; import { HttpRequestModel } from "./models/HttpRequestModel"; import { EventResponseModel, HttpResponseModel } from "./models/HttpResponseModel"; import { HttpNextModel } from "./models/HttpNextModel"; import { AuthController } from "./controllers/auth.controller"; export declare class BfastFunctions { private readonly appName; private authController; private httpClientController; constructor(appName: string, authController: AuthController, httpClientController: HttpClientController); private init; /** * exec a http client request * @param path {string} function name */ request(path: string): FunctionsController; /** * listen for a realtime event from a bfast::functions * @param eventName * @param onConnect {function} callback when connection established * @param onDisconnect {function} callback when connection terminated */ event(eventName: string, onConnect?: Function, onDisconnect?: Function): SocketController; onHttpRequest(path: string, handler: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)): { method: null; path: string; onRequest: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any); }; onPostHttpRequest(path: string, handler: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)): { method: string; path: string; onRequest: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any); }; onPutHttpRequest(path: string, handler: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)): { method: string; path: string; onRequest: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any); }; onDeleteHttpRequest(path: string, handler: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)): { method: string; path: string; onRequest: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any); }; onGetHttpRequest(path: string, handler: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)): { method: string; path: string; onRequest: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any); }; onEvent(path: string, handler: (request: { auth?: any; body?: any; }, response: EventResponseModel) => any): { name: string; onEvent: (request: { auth?: any; body?: any; }, response: EventResponseModel) => any; }; onGuard(path: string, handler: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel) => any)): { path: string; onGuard: ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any)[] | ((request: HttpRequestModel, response: HttpResponseModel, next?: HttpNextModel | undefined) => any); }; onJob(schedule: { second?: string; minute?: string; hour?: string; day?: string; month?: string; dayOfWeek?: string; }, handler: (job: any) => any): { onJob: (job: any) => any; rule: any; }; }