// Assets/Scripts/Services/Interfaces/IBombService.cs
using System;
using System.Collections.Generic;
using Cysharp.Threading.Tasks;
using UnityEngine;

namespace Services.Interfaces
{
    public interface IBombService
    {
        IReadOnlyList<Vector2Int> CollectTriggeredBombs(IReadOnlyList<Vector2Int> matchPositions);
        UniTask DetonateChainAsync(
            IReadOnlyList<Vector2Int> initialBombs,
            Func<Vector2Int, bool> inBounds,
            Func<Vector2Int, Gem> getGemAt,
            Func<Vector2Int, UniTask> destroyAtAsync,
            int radius,
            float bombDelaySeconds,
            float bombSelfDelaySeconds);
    }
}