@ebonydevcopy/framework
Version:
A module-based NodeJS chatbot framework.
18 lines • 1.5 kB
TypeScript
import User from '../models/User';
import { Module } from '../interfaces/bot';
import { IPayload } from '../interfaces/payload';
export declare function createModule<U extends User<any>>(name?: string): Module<U>;
export declare function addAction<U extends User<any>>(module: Module<U>, action: (user: U, ...args: any[]) => Promise<any>): void;
export declare function addPostbackRule<U extends User<any>>(module: Module<U>, action: (user: U, ...args: any[]) => Promise<any>, type: 'string' | 'object'): string | {
type: string;
};
export declare function addBaseLocationRule<U extends User<any>>(module: Module<U>, action: (user: U, payload?: IPayload, ...args: any[]) => Promise<any>): void;
export declare function addTextRule<U extends User<any>>(module: Module<U>, action: (user: U, payload: IPayload, ...args: any[]) => Promise<any>, rule: RegExp | RegExp[]): void;
export declare function createPayload<U extends User<any>>(module: Module<U>, action: (user: U, payload?: any, ...args: any[]) => Promise<any>, type: 'string'): string;
export declare function createPayload<U extends User<any>>(module: Module<U>, action: (user: U, payload?: any, ...args: any[]) => Promise<any>, type: 'object'): {
type: string;
};
export declare function createPayload<T extends Record<string, any>, U extends User<any>>(module: Module<U>, action: (user: U, payload?: any, ...args: any[]) => Promise<any>, type: 'object', payloadData: T): {
type: string;
} & T;
//# sourceMappingURL=index.d.ts.map