<?php

namespace App\Services\Settlement\Contracts;

use App\Models\TicketItem;
use App\Models\TicketCombination;
use Illuminate\Support\Collection;
use App\Services\Settlement\PublishedDrawResultBoard;

interface SettlementPlayMatcher
{
    /**
     * @param  Collection<int, TicketCombination>  $combinations
     * @return array{win_amount: int, matched_prize_tier: ?string, match_detail: array<string, mixed>}
     */
    public function match(TicketItem $item, PublishedDrawResultBoard $board, Collection $combinations): array;
}
