import { MessageContext } from 'vk-io';
import { IScene } from './scene';
import { StepSceneHandler, IStepContext, IStepSceneOptions } from './step.types';
export declare class StepScene<T = MessageContext, S extends Record<string, unknown> = Record<string, any>> implements IScene<S> {
    slug: string;
    private steps;
    private onEnterHandler;
    private onLeaveHandler;
    constructor(slug: string, rawOptions: IStepSceneOptions<T, S> | StepSceneHandler<T, S>[]);
    enterHandler(context: IStepContext<S> & T): Promise<void>;
    leaveHandler(context: IStepContext<S> & T): Promise<unknown>;
}
