namespace IBKRTrader.Core.Trading;
///
/// Broker-Abstraktion (Kurse, Konto, Order-Ausführung).
/// Externer Seam: in Tests gemockt, produktiv von einem IBKR-Adapter implementiert.
///
public interface IBrokerClient
{
/// Aktuelle Kurs-Momentaufnahme oder null, wenn nicht verfügbar.
Task GetQuoteAsync(string symbol, CancellationToken ct = default);
/// Kontostand-Momentaufnahme.
Task GetAccountStateAsync(CancellationToken ct = default);
/// Platziert eine Order und gibt das Ergebnis zurück.
Task PlaceOrderAsync(OrderRequest request, CancellationToken ct = default);
}