import { TypedAction } from "../../action/actions";
import { SoundActionContentType, SoundActionTypes } from "../../action/actionTypes";
import type { Sound } from "../../elements/sound";
import { GameState } from "../../../player/gameState";
import { ActionExecutionInjection, ExecutedActionResult } from "../../action/action";
import { LogicAction } from "../../action/logicAction";
import { Story } from "../../elements/story";
export declare class SoundAction<T extends typeof SoundActionTypes[keyof typeof SoundActionTypes] = typeof SoundActionTypes[keyof typeof SoundActionTypes]> extends TypedAction<SoundActionContentType, T, Sound> {
    static ActionTypes: {
        readonly action: "sound:action";
        readonly play: "sound:play";
        readonly stop: "sound:stop";
        readonly setVolume: "sound:setVolume";
        readonly setRate: "sound:setRate";
        readonly pause: "sound:pause";
        readonly resume: "sound:resume";
    };
    executeAction(state: GameState, injection: ActionExecutionInjection): ExecutedActionResult;
    stringify(_story: Story, _seen: Set<LogicAction.Actions>, _strict: boolean): string;
}
