@connectycube/chat-widget
Version:
A customizable React chat widget built on the ConnectyCube platform, enabling real-time messaging, calls, and user engagement in any web app.
64 lines • 3.79 kB
TypeScript
import { Config, Users, Auth, Chat, EmptyResponse, PushNotifications } from '@connectycube/react';
import { PushSubscriptionData } from './notifications';
export declare enum UserPresence {
AVAILABLE = "available",
AWAY = "away",
BUSY = "busy",
UNKNOWN = "unknown"
}
export declare enum SIGNAL {
UPDATE_USER = "user/UPDATE"
}
export type UserData = {
userId?: string;
userName?: string;
userEmail?: string;
userAvatar?: string;
userProfileLink?: string;
};
export declare const SESSION_KEY = "@connectycube/chat-widget:session";
export declare const GUEST_KEY = "@connectycube/chat-widget:guest";
export declare const REMEMBER_ME_KEY = "@connectycube/chat-widget:rememberMe";
export declare const tryReuseSession: (userData: UserData) => Promise<boolean>;
export declare const restoreSession: () => Promise<Auth.Session | null>;
export declare const createUserSession: (login: string, password: string) => Promise<Auth.Session>;
export declare const createGuestSession: (full_name: string) => Promise<Auth.Session>;
export declare const createSession: (userData?: UserData) => Promise<Auth.Session | null>;
export declare const destroyUserSession: () => Promise<void>;
export declare const getServiceSession: () => Auth.Session | null;
export declare const userSignup: (login: string, password: string, userData?: UserData) => Promise<Auth.Session>;
export declare const upsertConnectyCubeConfig: (config?: Config.Options) => void;
export declare const autoconnect: (connect: (credentials: Chat.ConnectionParams) => Promise<boolean>, session?: Auth.Session | null) => Promise<boolean>;
export declare const updateUserProfileIfNeeded: (session: Auth.Session, userData?: UserData) => Promise<Auth.Session>;
export declare const setSessionToLocalStorage: (session: Auth.Session, ignore?: boolean) => void;
export declare const getSessionFromLocalStorage: () => Auth.Session | null;
export declare const clearSessionInLocalStorage: () => void;
export declare const getCurrentUser: () => Users.User | null | undefined;
export declare const parseUserCustomData: (user: Users.User | null | undefined) => {
[key: string]: any;
} | null;
export declare const getUserSettings: () => {
[key: string]: any;
} | null;
export declare const getUserStatus: (user: Users.User | null | undefined) => UserPresence;
export declare const updateUserSettings: (settings: {
[key: string]: any;
}, onlyLocal?: boolean) => Promise<Users.User>;
export declare const getSessionToken: () => string | null;
export declare const getSessionUserId: () => number | null;
export declare const isSessionExpired: () => boolean;
export declare const isUserIdChanged: (userId?: string | number | null) => boolean;
export declare const sha256: (str: string) => Promise<string>;
export declare const getUserName: (user: Users.User | null | undefined, force?: boolean) => string;
export declare const getPhotoUrl: (photoOrAvatar?: string | null) => string;
export declare const generateConnectyCubeLogin: (userId?: string) => string;
export declare const createUserReport: (reportedUserId: number, reason: string) => Promise<import("connectycube").Data.DataRecord>;
export declare const subscribeToPushNotifications: (pushSubscriptionData?: PushSubscriptionData) => Promise<PushNotifications.Subscription | undefined>;
export declare const unsubscribeFromPushNotifications: () => Promise<EmptyResponse[]>;
export declare const isCallsSupported: boolean;
export declare const setRememberMe: (rememberMe?: boolean) => void;
export declare const setGuestUser: (isGuest?: boolean) => void;
export declare const isRememberMe: () => boolean;
export declare const isGuestUser: () => boolean;
export declare const isTempSession: () => boolean;
//# sourceMappingURL=connectycube.d.ts.map