using SVSim.BattleNode.Sessions;
namespace SVSim.BattleNode.Bridge;
public interface IMatchingBridge
{
///
/// Mint a battle id, register a pending session, return the URL the client should
/// open a socket to.
///
///
/// Contract rules (enforced; throws ):
///
/// - Pvp: required. Both viewers expected to
/// connect WS within 60s.
/// - Bot: must be null. One viewer expected;
/// opponent runs in client.
///
///
PendingMatch RegisterBattle(BattlePlayer p1, BattlePlayer? p2, BattleType type);
}
public sealed record PendingMatch(string BattleId, string NodeServerUrl);