# SmartAccountWithDecodeCalls

> Helper type that converts a SmartAccount type to have a required `decodeCalls` function. This is useful for account implementations that always provide the `decodeCalls` functionality.

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
type SmartAccountWithDecodeCalls<TImplementation> =
  SmartAccount<TImplementation> & object;
```

Defined in: [packages/smart-accounts/src/types.ts:27](https://github.com/alchemyplatform/aa-sdk/blob/v5.x.x/packages/smart-accounts/src/types.ts#L27)

Helper type that converts a SmartAccount type to have a required `decodeCalls` function.
This is useful for account implementations that always provide the `decodeCalls` functionality.

## Type Declaration

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `decodeCalls`
      </td>

      <td>
        `NonNullable`\<[`SmartAccount`](https://viem.sh)\<`TImplementation`>\[`"decodeCalls"`]>
      </td>
    </tr>

  </tbody>
</table>

## Type Parameters

<table>
  <thead>
    <tr>
      <th align="left">Type Parameter</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `TImplementation` *extends* [`SmartAccountImplementation`](https://viem.sh)
      </td>
    </tr>
  </tbody>
</table>