//
// Copyright (c) alveus.dev. All rights reserved. Licensed under the MIT License.
//
using Astral.Services.Dtos;
namespace Astral.Services.Interfaces;
///
/// User's presence service.
///
public interface IUserPresenceService
{
///
/// Process a user's heartbeat.
///
Task HandleHeartbeat();
///
/// Process a user's heartbeat with location.
///
/// Instance of .
Task ConsumeLocationHeartbeat(UserLocationHeartbeatDto heartbeat);
///
/// Update the user's public key.
///
/// Stream containing the public key.
Task ConsumePublicKey(Stream publicKey);
}