---
# System prepended metadata

title: Remove fields from a TypeScript interface via extension

---


# Remove fields from a TypeScript interface via extension

use [mapped](https://www.typescriptlang.org/docs/handbook/advanced-types.html#mapped-types) and [conditional](https://github.com/Microsoft/TypeScript/wiki/What%27s-new-in-TypeScript#conditional-types) types to achieve this. Usually we call what you're trying to do Omit

```
type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>
```


## Example 
```
type TokenInfoWithBalance = TokenInfo & {balance: TokenAmount}

type Omit<T, K extends keyof T> = Pick<T, Exclude<keyof T, K>>

type LiquidityPoolInfoWithBalance = Omit<LiquidityPoolInfo, "lp"> & { lp: TokenInfoWithBalance }
```
# Reference

https://stackoverflow.com/questions/51804810/how-to-remove-fields-from-a-typescript-interface-via-extension