# 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