import '../entities/voice_session.dart';

/// Repository interface for voice call session management.
abstract class VoiceRepository {
  /// Starts a new voice session with the IT0 Agent.
  /// Returns the created session with WebSocket URL for audio streaming.
  Future<VoiceSession> startSession();

  /// Ends an active voice session by ID.
  Future<void> endSession(String sessionId);

  /// Retrieves the current active voice session, if any.
  Future<VoiceSession?> getActiveSession();
}
