Hhertz/node_modules/matrix-bot-sdk/lib/models/events/MembershipEvent.d.ts
2025-07-31 23:47:20 +03:00

55 lines
1.4 KiB
TypeScript

import { StateEvent } from "./RoomEvent";
/**
* The types of membership that are valid in Matrix.
* @category Matrix event info
* @see MembershipEventContent
*/
export type Membership = "join" | "leave" | "ban" | "invite";
/**
* The effective membership states a user can be in.
* @category Matrix event info
* @see MembershipEventContent
*/
export type EffectiveMembership = "join" | "leave" | "invite";
/**
* The content definition for m.room.member events
* @category Matrix event contents
* @see MembershipEvent
*/
export interface MembershipEventContent {
avatar_url?: string;
displayname?: string;
membership: Membership;
is_direct?: boolean;
unsigned?: any;
third_party_invite?: {
display_name: string;
signed: any;
};
}
/**
* Represents an m.room.member state event
* @category Matrix events
*/
export declare class MembershipEvent extends StateEvent<MembershipEventContent> {
constructor(event: any);
/**
* True if the membership event targets the sender. False otherwise.
*
* This will typically by false for kicks and bans.
*/
get ownMembership(): boolean;
/**
* The user ID the membership affects.
*/
get membershipFor(): string;
/**
* The user's membership.
*/
get membership(): Membership;
/**
* The user's effective membership.
*/
get effectiveMembership(): EffectiveMembership;
}