# AtsTypeInfo Properties

- Package: [Aspire.TypeSystem](/reference/api/csharp/aspire.typesystem.md)
- Type: [AtsTypeInfo](/reference/api/csharp/aspire.typesystem/atstypeinfo.md)
- Kind: `Properties`
- Members: `9`

Represents type information discovered from [AspireExport(AtsTypeId = "...")].

## AtsTypeId

- Name: `AtsTypeId`
- Modifiers: `get; init`
- Returns: `string`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the ATS type ID.

```csharp
public string AtsTypeId { get; init; }
```

## BaseTypeHierarchy

- Name: `BaseTypeHierarchy`
- Modifiers: `get; init`
- Returns: [IReadOnlyList<AtsTypeRef>](/reference/api/csharp/aspire.typesystem/atstyperef.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the base type hierarchy (from immediate base up to Resource/Object). Only populated for concrete (non-interface) types. Used for expanding capabilities targeting base types to derived types.

```csharp
public IReadOnlyList<AtsTypeRef> BaseTypeHierarchy { get; init; }
```

## ClrType

- Name: `ClrType`
- Modifiers: `nullable` `get; init`
- Returns: `Type?`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the CLR type reference for direct type access.

```csharp
public Type? ClrType { get; init; }
```

## Documentation

- Name: `Documentation`
- Modifiers: `nullable` `get; init`
- Returns: [AtsDocumentationInfo?](/reference/api/csharp/aspire.typesystem/atsdocumentationinfo.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the XML documentation captured for this type.

```csharp
public AtsDocumentationInfo? Documentation { get; init; }
```

## HasExposeMethods

- Name: `HasExposeMethods`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets whether this type has [AspireExport(ExposeMethods = true)]. Types with this flag will have their methods exposed as capabilities.

```csharp
public bool HasExposeMethods { get; init; }
```

## HasExposeProperties

- Name: `HasExposeProperties`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets whether this type has [AspireExport(ExposeProperties = true)]. Types with this flag will have their properties exposed as capabilities.

```csharp
public bool HasExposeProperties { get; init; }
```

## ImplementedInterfaces

- Name: `ImplementedInterfaces`
- Modifiers: `get; init`
- Returns: [IReadOnlyList<AtsTypeRef>](/reference/api/csharp/aspire.typesystem/atstyperef.md)
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets the interfaces this type implements. Only populated for concrete (non-interface) types.

```csharp
public IReadOnlyList<AtsTypeRef> ImplementedInterfaces { get; init; }
```

## IsInterface

- Name: `IsInterface`
- Modifiers: `get; init`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

Gets or sets whether this type is an interface.

```csharp
public bool IsInterface { get; init; }
```

## IsResourceBuilder

- Name: `IsResourceBuilder`
- Modifiers: `get`
- Returns: `bool`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs#L488)

Gets whether this handle type represents an Aspire resource type.

```csharp
public bool IsResourceBuilder { get; }
```
