import '../../../../core/network/ws_client.dart';
import '../../../../core/resources/data_state.dart';
import '../entities/table_entities.dart';

/// قرارداد دادهٔ بازی: بخش realtime (سوکت) + بخش HTTP (میزها/سهمیه).
abstract class GameRepository {
  // --- realtime ---
  Stream<Map<String, dynamic>> get messages;
  Stream<WsStatus> get status;
  Future<void> connect();
  void send(Map<String, dynamic> msg);
  Future<void> disconnect();

  // --- HTTP ---
  Future<DataState<List<TableTier>>> getTiers();
  Future<DataState<TablesInfo>> getTablesInfo();
}
