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

# SignerLocator

> Swift Enumeration

**Enumeration**

```swift theme={null}
enum SignerLocator
```

## Enumeration Cases

| Case                       | Description |
| -------------------------- | ----------- |
| `apiKey(address:)`         | -           |
| `device(publicKey:)`       | -           |
| `email(_:)`                | -           |
| `externalWallet(address:)` | -           |
| `passkey(credentialId:)`   | -           |
| `phone(_:)`                | -           |
| `server(address:)`         | -           |
| `unknown(_:)`              | -           |

## Initializers

### init(from:)

```swift theme={null}
init(from locator: String) throws(WalletError)
```

### init(from:)

Inherited from `Decodable.init(from:)`.

```swift theme={null}
init(from decoder: any Decoder) throws
```

## Instance Properties

| Property    | Type     | Description |
| ----------- | -------- | ----------- |
| `isDevice`  | `Bool`   | -           |
| `isPasskey` | `Bool`   | -           |
| `value`     | `String` | -           |

## Instance Methods

### encode(to:)

Inherited from `Encodable.encode(to:)`.

```swift theme={null}
func encode(to encoder: any Encoder) throws
```
