# PresenceAuthorityConfig (/docs/presence/reference/presence-server/interfaces/PresenceAuthorityConfig)



# Interface: PresenceAuthorityConfig [#interface-presenceauthorityconfig]

Defined in:
[index.ts:22](https://github.com/handlewithcarecollective/pitter-patter/blob/81896664a0707dea093e9edc81dae89a35a20ad2/packages/presence-server/src/index.ts#L22)

## Properties [#properties]

### broadcastManager [#broadcastmanager]

```ts
broadcastManager: {
  broadcastIndicator: (docId: string, indicator: PresenceIndicator) => Promise<void>;
  listenForPresence: (docId: string, clientId: string, refs: Record<string, string>) =>
    Promise<void>;
}
```

Defined in:
[index.ts:33](https://github.com/handlewithcarecollective/pitter-patter/blob/81896664a0707dea093e9edc81dae89a35a20ad2/packages/presence-server/src/index.ts#L33)

Creates listeners for updates to presence state and sends notifications to listeners when presence
state is updated. See
[RedisPresenceBroadcastManager](/docs/presence/reference/presence-server/classes/RedisPresenceBroadcastManager)

#### broadcastIndicator [#broadcastindicator]

```ts
broadcastIndicator: (docId: string, indicator: PresenceIndicator) => Promise<void>;
```

##### Parameters [#parameters]

###### docId [#docid]

`string`

###### indicator [#indicator]

[`PresenceIndicator`](/docs/presence/reference/presence-server/interfaces/PresenceIndicator)

##### Returns [#returns]

`Promise`\<`void`>

#### listenForPresence [#listenforpresence]

```ts
listenForPresence: (docId: string, clientId: string, refs: Record<string, string>) => Promise<void>;
```

##### Parameters [#parameters-1]

###### docId [#docid-1]

`string`

###### clientId [#clientid]

`string`

###### refs [#refs]

`Record`\<`string`, `string`>

##### Returns [#returns-1]

`Promise`\<`void`>

***

### persistenceManager [#persistencemanager]

```ts
persistenceManager: {
  getIndicators: (docId: string) => Promise<Record<string, PresenceIndicator>>;
  saveIndicator: (docId: string, indicator: PresenceIndicator) => Promise<void>;
}
```

Defined in:
[index.ts:26](https://github.com/handlewithcarecollective/pitter-patter/blob/81896664a0707dea093e9edc81dae89a35a20ad2/packages/presence-server/src/index.ts#L26)

Saves and retrieves presence state. For example, see the
[RedisPresencePersistenceManager](/docs/presence/reference/presence-server/classes/RedisPresencePersistenceManager)

#### getIndicators [#getindicators]

```ts
getIndicators: (docId: string) => Promise<Record<string, PresenceIndicator>>;
```

##### Parameters [#parameters-2]

###### docId [#docid-2]

`string`

##### Returns [#returns-2]

`Promise`\<`Record`\<`string`,
[`PresenceIndicator`](/docs/presence/reference/presence-server/interfaces/PresenceIndicator)>>

#### saveIndicator [#saveindicator]

```ts
saveIndicator: (docId: string, indicator: PresenceIndicator) => Promise<void>;
```

##### Parameters [#parameters-3]

###### docId [#docid-3]

`string`

###### indicator [#indicator-1]

[`PresenceIndicator`](/docs/presence/reference/presence-server/interfaces/PresenceIndicator)

##### Returns [#returns-3]

`Promise`\<`void`>
