import type { BotonicSession, UserExtraData } from '@botonic/shared'; import type { BotonicSecrets, BotonicSettings } from '@botonic/shared'; import type { HubtypeApiService } from '../../services/hubtype-api-service'; import type { BotonicContextType } from './botonic-context'; import { BotonicContext } from './botonic-context'; import type { BotonicRequestInput } from './botonic-context-input'; import type { ResolvedPlugins, TypingMode } from './types'; /** Bot request after parsing the Hubtype v2 Lambda event (typed input + session + settings + secrets). */ export interface BotonicRequest { input: BotonicRequestInput; session: BotonicSession; settings: BotonicSettings; secrets: BotonicSecrets; } /** * Factory that creates BotonicContext from raw lambda request. * Injects hubtypeService so the context has working sendMessages, doHandoff, etc. */ export declare class BotonicContextFactory { private readonly hubtypeService; private readonly plugins; private readonly defaultTyping; private readonly defaultDelay; private readonly defaultTypingMode; constructor(hubtypeService: HubtypeApiService, plugins: TPlugins, defaultTyping: number, defaultDelay: number, defaultTypingMode?: TypingMode); /** Creates input, session, settings, and secrets from a {@link BotonicRequest}. */ static from(raw: BotonicRequest): BotonicContextType; create(raw: BotonicRequest): BotonicContext; }