import BaseScene from './base'; import Context from '../context'; import { SessionContext } from '../session'; export interface SceneContext extends Context { session: SceneSession; scene: SceneContextScene, D>; } export interface SceneSessionData { current?: string; expires?: number; state?: object; } export interface SceneSession { __scenes?: S; } export interface SceneContextSceneOptions { ttl?: number; default?: string; defaultSession: D; } type SceneState = NonNullable; export default class SceneContextScene>, D extends SceneSessionData = SceneSessionData> { protected readonly ctx: C; protected readonly scenes: Map>; protected readonly options: SceneContextSceneOptions; constructor(ctx: C, scenes: Map>, options: Partial>); get session(): D; get state(): SceneState; set state(value: SceneState); get current(): BaseScene | undefined; reset(): void; enter(sceneId: string, initialState?: SceneState, silent?: boolean): Promise; reenter(): Promise | undefined; private leaving; leave(): Promise; } export {}; //# sourceMappingURL=context.d.ts.map