import { MenuActionContentType, MenuActionTypes } from "../../action/actionTypes";
import type { Menu } from "../../elements/menu";
import { GameState } from "../../../player/gameState";
import { Awaitable } from "../../../../util/data";
import type { CalledActionResult } from "../../gameTypes";
import { TypedAction } from "../../action/actions";
import { Story } from "../../elements/story";
import { LogicAction } from "../../action/logicAction";
import { ActionSearchOptions } from "../../types";
import { ActionExecutionInjection } from "../../action/action";
export declare class MenuAction<T extends typeof MenuActionTypes[keyof typeof MenuActionTypes] = typeof MenuActionTypes[keyof typeof MenuActionTypes]> extends TypedAction<MenuActionContentType, T, Menu> {
    static ActionTypes: {
        readonly action: "menu:action";
    };
    executeAction(gameState: GameState, injection: ActionExecutionInjection): (Awaitable<CalledActionResult, CalledActionResult> | {
        type: T;
        node: import("../../action/tree/actionTree").RenderableNode | null;
    })[];
    getFutureActions(story: Story, options: ActionSearchOptions): LogicAction.Actions[];
    stringify(_story: Story, _seen: Set<LogicAction.Actions>, _strict: boolean): string;
}
