using SharepointToolbox.Core.Models; namespace SharepointToolbox.Services; /// /// Enumerates all enabled member users from a tenant via Microsoft Graph. /// Used by Phase 13's User Directory ViewModel to populate the browse grid. /// public interface IGraphUserDirectoryService { /// /// Returns all enabled member users in the tenant associated with . /// Iterates through all pages using the Graph SDK PageIterator until exhausted or cancelled. /// /// The client/tenant identifier used to obtain a Graph token. /// /// Optional progress reporter — receives the running count of users fetched so far. /// Phase 13's ViewModel uses this to show "Loading... X users" feedback. /// Pass null for no progress reporting. /// /// Cancellation token. Iteration stops when cancelled. Task> GetUsersAsync( string clientId, IProgress? progress = null, CancellationToken ct = default); }