import type { GameEvent, GameEventType } from './events'; import type { GameState } from './types'; import type { GameAction } from './actions.types'; import type { CombatEndReport } from './store'; export interface EnginePayload { action: GameAction; state: GameState; report?: CombatEndReport; unlockedSkills?: string[]; } export interface TypedGameEvent extends GameEvent { type: T; payload: EnginePayload; } export type TypedCombatStartedEvent = TypedGameEvent<'combat:started'>; export type TypedCombatEndedEvent = TypedGameEvent<'combat:ended'>; export type TypedWorldMovedEvent = TypedGameEvent<'world:moved'>; export type TypedWorldProcessedEvent = TypedGameEvent<'world:processed'>; export type TypedLevelUpEvent = TypedGameEvent<'character:levelup'>; export type TypedInventoryChangedEvent = TypedGameEvent<'inventory:changed'>; export type TypedDialogueAppliedEvent = TypedGameEvent<'dialogue:applied'>; export type TypedGameSavedEvent = TypedGameEvent<'game:saved'>; export type TypedGameLoadedEvent = TypedGameEvent<'game:loaded'>; //# sourceMappingURL=events.types.d.ts.map