# AbiItem Types

## `AbiItem.AbiItem`

Root type for an item on an [`Abi.Abi`](/api/Abi/types#abi).

**Source:** [src/core/AbiItem.ts](https://github.com/wevm/ox/blob/main/src/core/AbiItem.ts#L11)

## `AbiItem.ExtractNames`

**Source:** [src/core/AbiItem.ts](https://github.com/wevm/ox/blob/main/src/core/AbiItem.ts#L805)

## `AbiItem.FromAbi`

Extracts an [`AbiItem.AbiItem`](/api/AbiItem/types#abiitem) item from an [`Abi.Abi`](/api/Abi/types#abi), given a name.

### Examples

```ts twoslash
import { Abi, AbiItem } from 'ox'

const abi = Abi.from([
  'error Foo(string)',
  'function foo(string)',
  'event Bar(uint256)'
])

type Foo = AbiItem.FromAbi<typeof abi, 'Foo'>
//   ^?
```

**Source:** [src/core/AbiItem.ts](https://github.com/wevm/ox/blob/main/src/core/AbiItem.ts#L805)

## `AbiItem.Name`

Extracts the names of all [`AbiItem.AbiItem`](/api/AbiItem/types#abiitem) items in an [`Abi.Abi`](/api/Abi/types#abi).

### Examples

```ts twoslash
import { Abi, AbiItem } from 'ox'

const abi = Abi.from([
  'error Foo(string)',
  'function foo(string)',
  'event Bar(uint256)'
])

type names = AbiItem.Name<typeof abi>
//   ^?
```

**Source:** [src/core/AbiItem.ts](https://github.com/wevm/ox/blob/main/src/core/AbiItem.ts#L805)
