using SharepointToolbox.Core.Models;
namespace SharepointToolbox.Services;
///
/// Scans permissions across selected sites and filters results to show
/// only what specific user(s) can access.
///
public interface IUserAccessAuditService
{
///
/// Scans all selected sites for permissions, then filters results to entries
/// matching the specified user logins. Returns a flat list of UserAccessEntry
/// records suitable for DataGrid binding and export.
///
/// Session manager for creating authenticated contexts.
/// Login names (emails) of users to audit.
/// Sites to scan.
/// Scan depth options (inherited, folders, subsites).
/// Progress reporter.
/// Cancellation token.
/// Flat list of access entries for the target users.
Task> AuditUsersAsync(
ISessionManager sessionManager,
TenantProfile currentProfile,
IReadOnlyList targetUserLogins,
IReadOnlyList sites,
ScanOptions options,
IProgress progress,
CancellationToken ct);
}