@connectycube/use-chat
Version:
A React hook for state management in ConnectyCube-powered chat solutions
32 lines • 1.29 kB
TypeScript
import { Users } from "connectycube/types";
export declare const USERS_LOG_TAG = "[useChat][useUsers]";
export declare const LIST_ONLINE_USERS_INTERVAL = 60000;
export declare const MAX_REQUEST_LIMIT = 100;
export type OnlineUsersLastRequestAt = number;
export type UsersArray = Users.User[];
export type UsersObject = {
[userId: Users.User["id"]]: Users.User;
};
export type UsersLastActivity = {
[userId: number]: string;
};
export type UsersHookExports = {
users: UsersObject;
searchUsers: (term: string) => Promise<UsersArray>;
listOnlineUsers: (force?: boolean) => Promise<UsersArray>;
listOnlineUsersWithParams: (params: Users.ListOnlineParams) => Promise<UsersArray>;
onlineUsers: UsersArray;
getOnlineUsersCount: () => Promise<number>;
onlineUsersCount: number;
lastActivity: UsersLastActivity;
getLastActivity: (userId: number) => Promise<string>;
subscribeToUserLastActivityStatus: (userId: number) => void;
unsubscribeFromUserLastActivityStatus: (userId: number) => void;
};
export type UsersHook = {
exports: UsersHookExports;
_retrieveAndStoreUsers: (usersIds: number[]) => Promise<void>;
};
declare function useUsers(currentUserId?: number): UsersHook;
export default useUsers;
//# sourceMappingURL=useUsers.d.ts.map