> ## Documentation Index
> Fetch the complete documentation index at: https://crossmint-devin-1787949784-wallet-docs-two-concept-model.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Signer

> Swift Protocol

**Protocol**

```swift theme={null}
protocol Signer<AdminType> : Sendable
```

## Associated Types

### AdminType

```swift theme={null}
associatedtype AdminType : AdminSignerData
```

## Instance Properties

| Property      | Type             | Description |
| ------------- | ---------------- | ----------- |
| `adminSigner` | `Self.AdminType` | -           |
| `signerType`  | `SignerType`     | -           |

## Instance Methods

### approvals(withSignature:)

```swift theme={null}
func approvals(withSignature signature: String) async throws(SignerError) -> [SignRequestApi.Approval]
```

### initialize()

```swift theme={null}
func initialize() async throws(SignerError)
```

### initialize(\_:)

```swift theme={null}
func initialize(_ service: (any SmartWalletService)?) async throws(SignerError)
```

### sign(message:)

```swift theme={null}
func sign(message: String) async throws(SignerError) -> String
```
