> ## Documentation Index
> Fetch the complete documentation index at: https://docs.collab-kit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Presence Types

> Types for ephemeral presence state.

```typescript theme={null}
import type { PresenceState, PresenceUpdateInput } from '@collab-kit/utils';
```

## PresenceState

The full presence state for a user.

```typescript theme={null}
interface PresenceState {
  cursor: { x: number; y: number; state: 'typing' | 'idle' };
  screen: { width: number; height: number };
  scroll: { x: number; y: number };
  zoom?: number;
  color: string;
  userId: string;
  meta?: Record<string, unknown>;
}
```

## PresenceUpdateInput

The input shape for `client.presence.update()`. All fields are optional.

```typescript theme={null}
type PresenceUpdateInput = {
  cursor?: { x: number; y: number; state: 'typing' | 'idle' };
  screen?: { width: number; height: number };
  scroll?: { x: number; y: number };
  zoom?: number;
  meta?: Record<string, unknown>;
};
```
