import { BaseContext } from '../context/context'; export interface SceneSessionData { current?: string; state?: any; cursor?: number; } export interface SceneContext extends BaseContext { scene: { state: any; enter: (sceneId: string, initialState?: any) => Promise; leave: () => Promise; }; wizard: { next: () => void; back: () => void; selectStep: (index: number) => void; }; } export type SceneMiddleware = (ctx: C, next: () => Promise) => Promise | void;