@veltdev/types
Version:
Velt is an SDK to add collaborative features to your product within minutes. Example: Comments like Figma, Frame.io, Google docs or sheets, Recording like Loom, Huddles like Slack and much more.
124 lines (102 loc) • 3.61 kB
TypeScript
// @ts-nocheck
import { Observable } from "rxjs";
import { PresenceUser } from "../data/presence-user.data.model";
import { GetPresenceDataResponse, PresenceEventTypesMap } from "../data/presence-events.data.model";
import { PresenceRequestQuery } from "../data/presence-actions.data.model";
export declare class PresenceElement {
/**
* Subscribe to a list of all online users who are either active or inactive on the current document.
*
* Returns Observable<PresenceUser[] | null>.
* @deprecated This method is deprecated. Use `getData` method instead.
*/
getOnlineUsersOnCurrentDocument: () => Observable<PresenceUser[] | null>;
/**
* To set inactivity time (Default value is 5 minutes)
* @param time inactivity time in milliseconds
*/
setInactivityTime: (time: number) => void;
/**
* Enables follow along mode globally
* @param options {FollowOptions: {useHistoryAPI: boolean, onNavigate: (url: PageInfo) => void}}}
*/
enableFollowAlongMode: (useHistoryAPI: boolean) => any;
/**
* To disable follow along mode
*/
disableFollowAlongMode: () => any;
/**
* To enable adding self to the presence list
*/
enableSelf: () => void;
/**
* To disable adding self to the presence list
*/
disableSelf: () => void;
/**
* To get the presence data
*/
getData: (query?: PresenceRequestQuery) => Observable<GetPresenceDataResponse>;
/**
* Subscribe to presence events
*/
on: <T extends keyof PresenceEventTypesMap>(action: T) => Observable<PresenceEventTypesMap[T]>;
/**
* Add a custom user to the presence list (e.g., an AI agent).
* The user will appear in presence alongside real users.
* @param request Object containing user data with at least userId required.
*/
addUser: (request: { user: Partial<PresenceUser>, localOnly?: boolean }) => void;
/**
* Remove a previously added custom user from the presence list.
* @param request Object containing user data with at least userId required, and optional localOnly flag.
* @param request.localOnly If true, user is only removed locally (not removed from DB). Default: false.
*/
removeUser: (request: { user: Partial<PresenceUser>, localOnly?: boolean }) => void;
constructor();
/**
* Subscribe to a list of all online users who are either active or inactive on the current document.
*
* Returns Observable<PresenceUser[] | null>.
* @deprecated This method is deprecated. Use `getData` method instead.
*/
private _getOnlineUsersOnCurrentDocument;
/**
* To set inactivity time (Default value is 5 minutes)
* @param time inactivity time in milliseconds
*/
private _setInactivityTime;
/**
* Enables follow along mode globally
* @param options {FollowOptions: {useHistoryAPI: boolean, onNavigate: (url: PageInfo) => void}}}
*/
private _enableFollowAlongMode;
/**
* To disable follow along mode
*/
private _disableFollowAlongMode;
/**
* To enable adding self to the presence list
*/
private _enableSelf;
/**
* To disable adding self to the presence list
*/
private _disableSelf;
/**
* To get the presence data
*/
private _getData;
/**
* Subscribe to presence events
*/
private _on;
/**
* Add a custom user to the presence list
*/
private _addUser;
/**
* Remove a custom user from the presence list
*/
private _removeUser;
}