import { LogicAction } from "./logicAction"; import { ContentNode } from "../action/tree/actionTree"; import type { CalledActionResult } from "../gameTypes"; import { Awaitable } from "../../../util/data"; import { GameState } from "../../player/gameState"; import { Story } from "../elements/story"; import { ActionSearchOptions } from "../types"; import type { StackModel } from "./stackModel"; export type ActionExecutionInjection = { stackModel: StackModel; }; export type ExecutedActionResult = CalledActionResult | Awaitable | (CalledActionResult | Awaitable)[] | null; export declare class Action { static ActionTypes: { action: string; }; callee: Callee; type: Type; contentNode: ContentNode; _id: string; readonly __stack: string; constructor(callee: Callee, type: Type, contentNode: ContentNode); executeAction(_state: GameState, _injection: ActionExecutionInjection): ExecutedActionResult; getId(): string; setId(id: string): void; setContent(content: ContentNodeType): this; setContentNode(contentNode: ContentNode): this; getFutureActions(_story: Story, _options: ActionSearchOptions): LogicAction.Actions[]; }