using System.Collections.Generic; namespace Minesweeper.Core { public interface IBoardService { int Width { get; } int Height { get; } int MinesCount { get; } bool IsGenerated { get; } int OpenedSafeCellsCount { get; } int SafeCellsCount { get; } void InitializeEmptyBoard(); bool GenerateAfterFirstClick(int safeX, int safeY); BoardActionResult OpenCell(int x, int y); BoardActionResult ToggleFlag(int x, int y); bool IsInside(int x, int y); bool TryGetCell(int x, int y, out BoardCellData cell); IReadOnlyList GetCells(); } }