import type { RefObject } from 'react'; import type { GameStatus, GameStatusManager } from './useGameStatus/types'; import type { CursorManager } from './useCursor/types'; import type { ScoreManager } from './useScore/types'; export type Difficulty = 'easy' | 'medium' | 'hard'; export type { GameStatus, GameStatusManager }; export type { CursorManager, Coord } from './useCursor/types'; export type { ScoreManager } from './useScore/types'; export type GameOptions = { difficulty?: Difficulty; }; export type KeyLogEntry = { key: string; timestamp: number }; export type GameManager = { containerRef: RefObject; renderBoard: () => void; cursor: CursorManager; scoreManager: ScoreManager; keyLog: KeyLogEntry[]; clearKeyLog: () => void; getKeyLog: () => KeyLogEntry[]; } & GameStatusManager;