UNPKG

1.29 kBTypeScriptView Raw
1import { SessionContext } from '../session';
2import SceneContextScene, { SceneContextSceneOptions, SceneSession, SceneSessionData } from './context';
3import { BaseScene } from './base';
4import { Composer } from '../composer';
5import { Context } from '../context';
6export declare class Stage<C extends SessionContext<SceneSession<D>> & {
7 scene: SceneContextScene<C, D>;
8}, D extends SceneSessionData = SceneSessionData> extends Composer<C> {
9 options: Partial<SceneContextSceneOptions<D>>;
10 scenes: Map<string, BaseScene<C>>;
11 constructor(scenes?: ReadonlyArray<BaseScene<C>>, options?: Partial<SceneContextSceneOptions<D>>);
12 register(...scenes: ReadonlyArray<BaseScene<C>>): this;
13 middleware(): import("..").MiddlewareFn<C>;
14 static enter<C extends Context & {
15 scene: SceneContextScene<C>;
16 }>(...args: Parameters<SceneContextScene<C>['enter']>): (ctx: C) => Promise<unknown>;
17 static reenter<C extends Context & {
18 scene: SceneContextScene<C>;
19 }>(...args: Parameters<SceneContextScene<C>['reenter']>): (ctx: C) => Promise<unknown> | undefined;
20 static leave<C extends Context & {
21 scene: SceneContextScene<C>;
22 }>(...args: Parameters<SceneContextScene<C>['leave']>): (ctx: C) => Promise<void>;
23}
24//# sourceMappingURL=stage.d.ts.map
\No newline at end of file