using Microsoft.SharePoint.Client; using SharepointToolbox.Web.Core.Models; namespace SharepointToolbox.Web.Services; public interface ISessionManager { Task GetOrCreateContextAsync(TenantProfile profile, CancellationToken ct = default); Task GetOrCreateContextAsync(string siteUrl, TenantProfile profile, CancellationToken ct = default); Task<(string Token, DateTimeOffset ExpiresAt)> GetAccessTokenWithExpiryAsync(string scope, CancellationToken ct = default); Task ClearSessionAsync(string tenantUrl); Task ClearAllAsync(); bool IsAuthenticated(string tenantUrl); }