---
title: Overview
sidebar_position: 0
toc_min_heading_level: 2
toc_max_heading_level: 3
---

import { Tabs, TabItem } from '@astrojs/starlight/components';

TypeSpec Data Plane Generation library

## Install

<Tabs>
<TabItem  label="In a spec" default>

```bash
npm install @azure-tools/typespec-client-generator-core
```

</TabItem>
<TabItem  label="In a library" default>

```bash
npm install --save-peer @azure-tools/typespec-client-generator-core
```

</TabItem>
</Tabs>

## Emitter usage

[See documentation](./emitter.md)

## Azure.ClientGenerator.Core

### Decorators

- [`@access`](./decorators.md#@Azure.ClientGenerator.Core.access)
- [`@alternateType`](./decorators.md#@Azure.ClientGenerator.Core.alternateType)
- [`@apiVersion`](./decorators.md#@Azure.ClientGenerator.Core.apiVersion)
- [`@client`](./decorators.md#@Azure.ClientGenerator.Core.client)
- [`@clientApiVersions`](./decorators.md#@Azure.ClientGenerator.Core.clientApiVersions)
- [`@clientDoc`](./decorators.md#@Azure.ClientGenerator.Core.clientDoc)
- [`@clientInitialization`](./decorators.md#@Azure.ClientGenerator.Core.clientInitialization)
- [`@clientLocation`](./decorators.md#@Azure.ClientGenerator.Core.clientLocation)
- [`@clientName`](./decorators.md#@Azure.ClientGenerator.Core.clientName)
- [`@clientNamespace`](./decorators.md#@Azure.ClientGenerator.Core.clientNamespace)
- [`@clientOption`](./decorators.md#@Azure.ClientGenerator.Core.clientOption)
- [`@convenientAPI`](./decorators.md#@Azure.ClientGenerator.Core.convenientAPI)
- [`@deserializeEmptyStringAsNull`](./decorators.md#@Azure.ClientGenerator.Core.deserializeEmptyStringAsNull)
- [`@operationGroup`](./decorators.md#@Azure.ClientGenerator.Core.operationGroup)
- [`@override`](./decorators.md#@Azure.ClientGenerator.Core.override)
- [`@paramAlias`](./decorators.md#@Azure.ClientGenerator.Core.paramAlias)
- [`@protocolAPI`](./decorators.md#@Azure.ClientGenerator.Core.protocolAPI)
- [`@responseAsBool`](./decorators.md#@Azure.ClientGenerator.Core.responseAsBool)
- [`@scope`](./decorators.md#@Azure.ClientGenerator.Core.scope)
- [`@usage`](./decorators.md#@Azure.ClientGenerator.Core.usage)
- [`@useSystemTextJsonConverter`](./decorators.md#@Azure.ClientGenerator.Core.useSystemTextJsonConverter)

### Models

- [`ClientInitializationOptions`](./data-types.md#Azure.ClientGenerator.Core.ClientInitializationOptions)
- [`ClientOptions`](./data-types.md#Azure.ClientGenerator.Core.ClientOptions)
- [`ExternalType`](./data-types.md#Azure.ClientGenerator.Core.ExternalType)

## Azure.ClientGenerator.Core.Legacy

### Decorators

- [`@clientDefaultValue`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.clientDefaultValue)
- [`@disablePageable`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.disablePageable)
- [`@flattenProperty`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.flattenProperty)
- [`@hierarchyBuilding`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.hierarchyBuilding)
- [`@markAsLro`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.markAsLro)
- [`@markAsPageable`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.markAsPageable)
- [`@nextLinkVerb`](./decorators.md#@Azure.ClientGenerator.Core.Legacy.nextLinkVerb)
