/** * Role System - Manages 3-tier role activation * @requirement REQ-V2-011 - 3-tier role activation */ import { Role } from '../roles/role-definitions.js'; import { RoleActivationContext } from './role-activator.js'; /** * Role System configuration */ export interface RoleSystemConfig { tier1: string[]; tier2: string[]; tier3: string[]; } /** * Role System - Manages role activation across 3 tiers * @requirement REQ-V2-011 - 3-tier activation management */ export declare class RoleSystem { private tier1Roles; private tier2Roles; private tier3Roles; private activator; /** * Initialize role system with tier configuration * @requirement REQ-V2-011 - Role system initialization */ constructor(config?: RoleSystemConfig); /** * Get active roles for given context * @requirement REQ-V2-011 - Tier-based activation * * Tier 1: Always active * Tier 2: Conditional (based on triggers) * Tier 3: Specialized (on-demand) */ getActiveRoles(context?: RoleActivationContext): Role[]; /** * Get all tier 1 roles (always active) */ getTier1Roles(): Role[]; /** * Get all tier 2 roles (conditional) */ getTier2Roles(): Role[]; /** * Get all tier 3 roles (specialized) */ getTier3Roles(): Role[]; /** * Check if role is in tier 1 (always active) */ isTier1Role(roleId: string): boolean; /** * Get activation explanation (for debugging) */ explainActivation(context: RoleActivationContext): Record; /** * Check if a role exists in any tier */ hasRole(roleId: string): boolean; }