# AtsTypeInfo

- Kind: `class`
- Package: [Aspire.TypeSystem](/reference/api/csharp/aspire.typesystem.md)
- Version: `13.4.0`
- Namespace: `Aspire.TypeSystem`
- Target framework: `net8.0`
- Source: [GitHub](https://github.com/microsoft/aspire/blob/a3766e994fd2cba86c8ac60b8a80268cab7e6383/src/Aspire.TypeSystem/AtsCapabilityInfo.cs)

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

## Definition

```csharp
namespace Aspire.TypeSystem;

public sealed class AtsTypeInfo
{
    // ...
}
```

## Constructors

- [AtsTypeInfo](/reference/api/csharp/aspire.typesystem/atstypeinfo/constructors.md#constructor)

## Properties

- [AtsTypeId](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#atstypeid) : `string` `get; init` -- Gets or sets the ATS type ID.
- [BaseTypeHierarchy](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#basetypehierarchy) : [IReadOnlyList<AtsTypeRef>](/reference/api/csharp/aspire.typesystem/atstyperef.md) `get; init` -- 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.
- [ClrType](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#clrtype) : `Type?` `get; init` -- Gets or sets the CLR type reference for direct type access.
- [Documentation](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#documentation) : [AtsDocumentationInfo?](/reference/api/csharp/aspire.typesystem/atsdocumentationinfo.md) `get; init` -- Gets or sets the XML documentation captured for this type.
- [HasExposeMethods](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#hasexposemethods) : `bool` `get; init` -- Gets or sets whether this type has [AspireExport(ExposeMethods = true)]. Types with this flag will have their methods exposed as capabilities.
- [HasExposeProperties](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#hasexposeproperties) : `bool` `get; init` -- Gets or sets whether this type has [AspireExport(ExposeProperties = true)]. Types with this flag will have their properties exposed as capabilities.
- [ImplementedInterfaces](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#implementedinterfaces) : [IReadOnlyList<AtsTypeRef>](/reference/api/csharp/aspire.typesystem/atstyperef.md) `get; init` -- Gets or sets the interfaces this type implements. Only populated for concrete (non-interface) types.
- [IsInterface](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#isinterface) : `bool` `get; init` -- Gets or sets whether this type is an interface.
- [IsResourceBuilder](/reference/api/csharp/aspire.typesystem/atstypeinfo/properties.md#isresourcebuilder) : `bool` `get` -- Gets whether this handle type represents an Aspire resource type.
