import { a as CanvasGameState } from '../ContainerMemory-BSDt46hh.js';
import { H as HistoryGameState } from '../HistoryGameState-i_gx3rGM.js';
import { N as NarrationGameState } from '../NarrationGameState-CqDh48n_.js';
import { S as SoundGameState } from '../SoundGameState-BG_iPwjt.js';
import { S as StorageGameState } from '../StorageGameState-Cnfj75sk.js';
import { O as OpenedLabel } from '../OpenedLabel-DxlOwJKw.js';
import '../TickersSequence-_GvVF_1g.js';
import 'pixi.js';
import '@drincs/pixi-vn';
import '@pixi/sound';
import '../StorageElementType-DTGcnkzF.js';
import 'deep-diff';
import 'microdiff';

interface GameState {
    pixivn_version: string;
    stepData: NarrationGameState;
    storageData: StorageGameState;
    canvasData: CanvasGameState;
    soundData: SoundGameState;
    historyData: HistoryGameState;
    path: string;
}

/**
 * It is a interface that contains the information of a step.
 */
interface GameStepStateData {
    /**
     * The browser path that occurred during the progression of the steps.
     */
    path: string;
    /**
     * The storage that occurred during the progression of the steps.
     */
    storage: StorageGameState;
    /**
     * The index of the label that occurred during the progression of the steps.
     */
    labelIndex: number;
    /**
     * The canvas that occurred during the progression of the steps.
     */
    canvas: CanvasGameState;
    /**
     * The opened labels that occurred during the progression of the steps.
     */
    openedLabels: OpenedLabel[];
    /**
     * The sound data that occurred during the progression of the steps.
     */
    sound: SoundGameState;
}

export type { GameState, GameStepStateData, GameState as SaveData };
