using Data.SeaHavenIndustries.Enums;
namespace SeaHaven.Services.Interfaces
{
///
/// Pure evaluator for team-members permissions. Applies explicit
/// per-person overrides on top of role defaults; Admin has effective access
/// to every canonical key regardless of stored values. Unknown or legacy
/// roles receive no permissions.
///
public interface ITeamPermissionPolicy
{
///
/// Resolves whether a user in holds
/// . is the
/// person's stored override set (missing key behaves as Unset).
///
bool IsAllowed(
string? roleName,
string permissionKey,
IReadOnlyDictionary? overrides = null);
}
}