import { ConditionActionContentType, ConditionActionTypes } from "../../action/actionTypes";
import type { Condition } from "../../elements/condition";
import { GameState } from "../../../player/gameState";
import { LogicAction } from "../../action/logicAction";
import { TypedAction } from "../../action/actions";
import { Story } from "../../elements/story";
import { ActionSearchOptions } from "../../types";
export declare class ConditionAction<T extends typeof ConditionActionTypes[keyof typeof ConditionActionTypes] = typeof ConditionActionTypes[keyof typeof ConditionActionTypes]> extends TypedAction<ConditionActionContentType, T, Condition> {
    static ActionTypes: {
        readonly action: "condition:action";
    };
    executeAction(gameState: GameState): ({
        type: T;
        node: import("../../action/tree/actionTree").RenderableNode | null;
        wait?: undefined;
    } | {
        type: T;
        node: null;
        wait: {
            type: "all";
            stackModels: import("../stackModel").StackModel[];
        };
    })[];
    getFutureActions(story: Story, options: ActionSearchOptions): LogicAction.Actions[];
    stringify(story: Story, seen: Set<LogicAction.Actions>, strict: boolean): string;
}
