# Interface SelectionExpertRegistry

Registry of available experts.

interface SelectionExpertRegistry {
getAll(): ExpertDefinition[];
getById(id: string): ExpertDefinition | undefined;
getByRole(role: AgentRole): ExpertDefinition[];
getByDomain(domain: ExpertTaskDomain): ExpertDefinition[];
getAvailable(): ExpertDefinition[];
}

- Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:60

##### Index

### Methods

getAll
getById
getByRole
getByDomain
getAvailable

## Methods

### getAll

- getAll(): ExpertDefinition[]

  #### Returns ExpertDefinition[]

  - Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:61

### getById

- getById(id: string): ExpertDefinition | undefined

  #### Parameters

  - id: string

  #### Returns ExpertDefinition | undefined

  - Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:62

### getByRole

- getByRole(role: AgentRole): ExpertDefinition[]

  #### Parameters

  - role: AgentRole

  #### Returns ExpertDefinition[]

  - Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:63

### getByDomain

- getByDomain(domain: ExpertTaskDomain): ExpertDefinition[]

  #### Parameters

  - domain: ExpertTaskDomain

  #### Returns ExpertDefinition[]

  - Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:64

### getAvailable

- getAvailable(): ExpertDefinition[]

  #### Returns ExpertDefinition[]

  - Defined in packages/nexus-agents/src/agents/experts/expert-selector-types.ts:65