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); } }