# SwapTypeMapping\<T>

```
type SwapTypeMapping<T> = object;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:21](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L21)

Type mapping from SwapType enum to specific swap class implementations, it is important to pass the chain type generic, since different chains support different swap protocols for some directions.

## Type Parameters

| Type Parameter                                                                                                       |
| -------------------------------------------------------------------------------------------------------------------- |
| `T` *extends* [`ChainType`](https://docs.atomiq.exchange/sdk-reference/api/atomiq-sdk/src/type-aliases/ChainType.md) |

## Properties

### 0

```
0: SupportsSwapType<T, SPV_VAULT_FROM_BTC> extends true ? SpvFromBTCSwap<T> : FromBTCSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:22](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L22)

***

### 1

```
1: SupportsSwapType<T, FROM_BTCLN_AUTO> extends true ? FromBTCLNAutoSwap<T> : FromBTCLNSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:23](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L23)

***

### 2

```
2: ToBTCSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:24](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L24)

***

### 3

```
3: ToBTCLNSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:25](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L25)

***

### 4

```
4: OnchainForGasSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:26](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L26)

***

### 5

```
5: LnForGasSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:27](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L27)

***

### 6

```
6: SpvFromBTCSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:28](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L28)

***

### 7

```
7: FromBTCLNAutoSwap<T>;
```

Defined in: [atomiq-sdk/src/utils/SwapUtils.ts:29](https://github.com/atomiqlabs/atomiq-sdk/blob/786509324f7f09c427e9ccfe527d82e496f06af5/src/utils/SwapUtils.ts#L29)
