import { Route } from '../routes/types'; import { BotonicContext, BotonicRequest, ResolvedPlugins, TypingMode } from '../server'; import { HubtypeApiService } from '../services/hubtype-api-service'; /** Config for CoreBot. */ export interface CoreBotConfig { appId?: string; defaultDelay?: number; defaultRoutes?: (botonicContext: BotonicContext) => Route[]; defaultTyping?: number; defaultTypingMode?: TypingMode; plugins?: ResolvedPlugins; routes: (botonicContext: BotonicContext) => Route[]; } /** * CoreBot: accepts v2-shaped `BotonicRequest` and runs * input() → createBotonicContext → runInput (route, plugins, redirect). */ export declare class CoreBot { appId?: string; defaultDelay: number; defaultRoutes: (botonicContext: BotonicContext) => Route[]; defaultTyping: number; defaultTypingMode: TypingMode; plugins: ResolvedPlugins; routes: (botonicContext: BotonicContext) => Route[]; hubtypeService: HubtypeApiService; private readonly botonicContextFactory; constructor({ appId, defaultDelay, defaultRoutes, defaultTyping, defaultTypingMode, plugins, routes, }: CoreBotConfig); run(botonicRequest: BotonicRequest): Promise; private runInput; private runPrePlugins; private getRoute; private getCoreRoutes; private runPostPlugins; private runRedirectAction; }