import { IScene } from './scenes/scene';
import { IContext, Middleware } from './types';
import { ISceneManagerOptions } from './scene-manager.types';
export declare class SceneManager {
    private repository;
    private sessionKey;
    constructor({ scenes, sessionKey }?: ISceneManagerOptions);
    /**
     * Checks for has a scene
     */
    hasScene(slug: string): boolean;
    /**
     * Adds scenes to the repository
     */
    addScenes(scenes: IScene[]): this;
    /**
     * Returns the middleware for embedding
     */
    get middleware(): Middleware<IContext>;
    /**
     * Returns the middleware for intercept
     */
    get middlewareIntercept(): Middleware<IContext>;
}
