using SharepointToolbox.Web.Core.Models;
namespace SharepointToolbox.Web.Services.Session;
///
/// Scoped per Blazor circuit. Holds the active tenant profile for the current user.
/// All feature pages read the profile from here instead of asking the user per-request.
///
public interface IUserSessionService
{
TenantProfile? CurrentProfile { get; }
bool HasProfile { get; }
AppSettings Settings { get; }
/// Branding for exported reports: MSP logo (settings) + active profile's client logo.
ReportBranding CurrentBranding { get; }
void SetProfile(TenantProfile profile);
Task ClearSessionAsync();
void UpdateSettings(AppSettings settings);
event Action? ProfileChanged;
}