import type { Awareness } from "y-protocols/awareness"; import type { CollabUser, NormalizedPoint, OtherPresence, PresencePayload } from "./types.js"; export type { NormalizedPoint, OtherPresence, PresencePayload, } from "./types.js"; export declare function deriveCollabUser(state: Record, clientId: number): CollabUser; export declare function shallowEqualOthers(a: readonly OtherPresence[], b: readonly OtherPresence[]): boolean; export interface UsePresenceResult { others: OtherPresence[]; setPresence: (partial: PresencePayload) => void; } export declare function usePresence(awareness: Awareness | null | undefined, localClientId: number | null | undefined): UsePresenceResult; export declare function toNormalized(clientX: number, clientY: number, container: DOMRect): NormalizedPoint; export declare function fromNormalized(point: NormalizedPoint, container: DOMRect): { x: number; y: number; };