Skip to main content
import type { PresenceState, PresenceUpdateInput } from '@collab-kit/utils';

PresenceState

The full presence state for a user.
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.
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>;
};