/** * The ID describing a client. */ type ClientID = string; type SubscribeToPresenceCallback = (presentClientIDs: ReadonlyArray) => void; type PresenceSubscribable = { subscribeToPresence(callback: SubscribeToPresenceCallback): () => void; }; declare function usePresence(r: PresenceSubscribable | null | undefined): ReadonlyArray; declare type Subscribable = { subscribe: (query: (tx: Tx) => Promise, { onData }: { onData: (data: Data) => void; }) => () => void; }; declare type RemoveUndefined = T extends undefined ? never : T; declare function useSubscribe(r: Subscribable | null | undefined, query: (tx: Tx) => Promise, def: Default, deps?: Array): Default | RemoveUndefined; export { PresenceSubscribable, RemoveUndefined, Subscribable, SubscribeToPresenceCallback, usePresence, useSubscribe };