@cometchat/chat-uikit-react
Version:
Ready-to-use Chat UI Components for React(Javascript/Web)
64 lines (63 loc) • 2.19 kB
TypeScript
import { Subject } from 'rxjs';
/**
* Group event subjects for handling various group-related actions (e.g., group creation, member actions, ownership changes, etc.)
*/
export declare class CometChatGroupEvents {
static ccGroupCreated: Subject<CometChat.Group>;
static ccGroupDeleted: Subject<CometChat.Group>;
static ccGroupMemberJoined: Subject<IGroupMemberJoined>;
static ccGroupLeft: Subject<IGroupLeft>;
static ccGroupMemberAdded: Subject<IGroupMemberAdded>;
static ccGroupMemberScopeChanged: Subject<IGroupMemberScopeChanged>;
static ccGroupMemberKicked: Subject<IGroupMemberKickedBanned>;
static ccGroupMemberBanned: Subject<IGroupMemberKickedBanned>;
static ccGroupMemberUnbanned: Subject<IGroupMemberUnBanned>;
static ccOwnershipChanged: Subject<IOwnershipChanged>;
/**
* Publishes a group event.
* @param {Subject<CometChat.Group>} event - The event to publish.
* @param {any} group - The group associated with the event.
*/
static publishEvent(event: Subject<CometChat.Group>, group: any): void;
}
/**
* Interfaces for various group-related events
*/
export interface IGroupMemberScopeChanged {
message: CometChat.Action;
updatedUser: CometChat.GroupMember;
scopeChangedTo: any;
scopeChangedFrom: any;
group: CometChat.Group;
}
export interface IOwnershipChanged {
group: CometChat.Group;
newOwner: CometChat.GroupMember;
}
export interface IGroupMemberKickedBanned {
message: CometChat.Action;
kickedFrom: CometChat.Group;
kickedUser: CometChat.User;
kickedBy: CometChat.User;
}
export interface IGroupMemberUnBanned {
message?: CometChat.Action;
unbannedUser: CometChat.User;
unbannedBy: CometChat.User;
unbannedFrom: CometChat.Group;
}
export interface IGroupMemberAdded {
messages: CometChat.Action[];
usersAdded: CometChat.User[];
userAddedIn: CometChat.Group;
userAddedBy: CometChat.User;
}
export interface IGroupMemberJoined {
joinedUser: CometChat.User;
joinedGroup: CometChat.Group;
}
export interface IGroupLeft {
userLeft: CometChat.User;
leftGroup: CometChat.Group;
message: CometChat.Action;
}