/** * AgentRole Value Object * * Represents the role of a subagent in task execution * * @see REQ-SDD-002 - Subagent Decomposition * @see DES-SDD-002 - SubagentDispatcher */ /** * Available agent role names */ export type AgentRoleName = 'requirements' | 'design' | 'implementation' | 'test' | 'review'; /** * Immutable agent role value object */ export interface AgentRole { /** Role name */ readonly name: AgentRoleName; /** Role capabilities */ readonly capabilities: readonly string[]; /** Role constraints */ readonly constraints: readonly string[]; /** Role description */ readonly description: string; } /** * Default role definitions */ export declare const DEFAULT_ROLES: ReadonlyMap; /** * Get agent role by name * * @param name - Role name * @returns AgentRole or undefined */ export declare function getAgentRole(name: AgentRoleName): AgentRole | undefined; /** * Get all available role names * * @returns Array of role names */ export declare function getAllRoleNames(): AgentRoleName[]; /** * Create a custom agent role * * @param name - Role name * @param capabilities - Role capabilities * @param constraints - Role constraints * @param description - Role description * @returns AgentRole */ export declare function createAgentRole(name: AgentRoleName, capabilities: string[], constraints: string[], description: string): AgentRole; //# sourceMappingURL=AgentRole.d.ts.map