import type { RefObject } from 'react'; export type { Coord, SudokuBoard, SudokuCell, Difficulty } from './useBoard/types'; export type { CursorManager, CursorMode, GameKeyManager, KeyLogEntry } from './useCursor/types'; export type { GameStatus, GameStatusManager } from './useGameStatus/types'; export type { ScoreManager, TimerManager } from './useScore/types'; export type GameOptions = { difficulty?: Difficulty; }; export type GameManager = { containerRef: RefObject; renderBoard: () => void; gameStatus: GameStatus; setGameStatus: (status: GameStatus) => void; startGame: () => void; togglePause: (pause?: boolean) => void; quitGame: () => void; cursor: CursorManager; scoreManager: ScoreManager; keyLog: KeyLogEntry[]; clearKeyLog: () => void; getKeyLog: () => KeyLogEntry[]; board: { generateBoard: (difficulty: Difficulty) => void; solveBoard: () => boolean; resetBoard: () => void; getCell: (row: number, col: number) => any; setCell: (row: number, col: number, value: string) => boolean; canEditCell: (row: number, col: number) => boolean; isComplete: () => boolean; isFullyValid: () => boolean; }; };