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; static ccGroupDeleted: Subject; static ccGroupMemberJoined: Subject; static ccGroupLeft: Subject; static ccGroupMemberAdded: Subject; static ccGroupMemberScopeChanged: Subject; static ccGroupMemberKicked: Subject; static ccGroupMemberBanned: Subject; static ccGroupMemberUnbanned: Subject; static ccOwnershipChanged: Subject; /** * Publishes a group event. * @param {Subject} event - The event to publish. * @param {any} group - The group associated with the event. */ static publishEvent(event: Subject, 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; }