import { PersistentActionContentType, PersistentActionTypes } from "../../action/actionTypes";
import { GameState } from "../../../player/gameState";
import { TypedAction } from "../../action/actions";
import { Values } from "../../../../util/data";
import { Persistent } from "../../elements/persistent";
import { ActionExecutionInjection } from "../../action/action";
import { LogicAction } from "../../action/logicAction";
import { Story } from "../../elements/story";
export declare class PersistentAction<T extends Values<typeof PersistentActionTypes> = Values<typeof PersistentActionTypes>> extends TypedAction<PersistentActionContentType, T, Persistent<any>> {
    static ActionTypes: {
        readonly action: "persistent:action";
        readonly set: "persistent:set";
        readonly assign: "persistent:assign";
    };
    executeAction(gameState: GameState, injection: ActionExecutionInjection): import("../../action/action").ExecutedActionResult;
    stringify(_story: Story, _seen: Set<LogicAction.Actions>, _strict: boolean): string;
}
