using Microsoft.SharePoint.Client;
using SharepointToolbox.Core.Helpers;
using SharepointToolbox.Core.Models;
namespace SharepointToolbox.Services;
///
/// Resolves the targeted resource (List, Web, File, Folder) for a SharePoint system
/// group whose name encodes a GUID — Limited Access System Group For Web/List and
/// SharingLinks.{itemId}.{type}.{shareId}. Returns null when the target is missing
/// or unreachable (deleted item, access denied, etc.) — callers fall back to the
/// raw group name.
///
public interface ISystemGroupTargetResolver
{
///
/// Resolves the target for a classified system group. Cached per (ctx site, guid).
///
Task ResolveAsync(
ClientContext ctx,
SystemGroupClassification classification,
CancellationToken ct);
}