> ## Documentation Index
> Fetch the complete documentation index at: https://docs.crossmint.com/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

### adminSigner

```swift theme={null}
var adminSigner: Self.AdminType { get async }
```

### signerType

```swift theme={null}
var signerType: SignerType { get }
```

## 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
```
