import { MessageContext } from 'puregram';
import { SceneInterface } from './scene';
import { StepSceneHandler, StepContext, StepSceneOptions } from './step.types';
export declare class StepScene<T = MessageContext> implements SceneInterface {
    slug: string;
    private readonly steps;
    private readonly onEnterHandler;
    private readonly onLeaveHandler;
    constructor(slug: string, rawOptions: StepSceneOptions<T> | StepSceneHandler<T>[]);
    enterHandler(context: StepContext & T): Promise<void>;
    leaveHandler(context: StepContext & T): Promise<unknown>;
}
