/// import { EventEmitter } from 'events'; import { JsonObject } from 'type-fest'; import Context from '../context/Context'; import SessionStore from '../session/SessionStore'; import { Action, Client, Plugin, RequestContext } from '../types'; import { Event } from '../context/Event'; import { Connector } from './Connector'; declare type Builder = { build: () => Action; }; export declare function run(action: Action): Action; declare type RequestHandler = (body: B, requestContext?: RequestContext) => void | Promise; export declare type OnRequest = (body: JsonObject, requestContext?: RequestContext) => void; export default class Bot> { _sessions: SessionStore; _initialized: boolean; _connector: Connector; _handler: Action | null; _errorHandler: Action | null; _initialState: JsonObject; _plugins: Function[]; _sync: boolean; _emitter: EventEmitter; _onRequest: OnRequest | undefined; constructor({ connector, sessionStore, sync, onRequest, }: { connector: Connector; sessionStore?: SessionStore; sync?: boolean; onRequest?: OnRequest; }); get connector(): Connector; get sessions(): SessionStore; get handler(): Action | null; get emitter(): EventEmitter; onEvent(handler: Action | Builder): Bot; onError(handler: Action | Builder): Bot; setInitialState(initialState: JsonObject): Bot; use(plugin: Plugin): Bot; initSessionStore(): Promise; createRequestHandler(): RequestHandler; } export {}; //# sourceMappingURL=Bot.d.ts.map