UNPKG

@amityco/ts-sdk-react-native

Version:

Amity Social Cloud Typescript SDK

52 lines (45 loc) 1.38 kB
export {}; declare global { namespace Amity { enum GroupTypeEnum { CHANNEL = 'channel', COMMUNITY = 'community', } type GroupType = `${GroupTypeEnum}`; type GroupMembership = 'member' | 'none' | 'banned' | 'muted'; type Group = { membersCount: number; }; type Member<T extends Amity.GroupType> = { userId: Amity.InternalUser['userId']; userInternalId: Amity.InternalUser['userInternalId']; userPublicId: Amity.InternalUser['userPublicId']; } & (T extends 'channel' ? { channelId: Amity.Channel['channelId']; membership: GroupMembership; readToSegment: number; lastMentionedSegment: number; } : T extends 'community' ? { communityId: Amity.Community['communityId']; communityMembership: GroupMembership; } : never) & Amity.Timestamps; type MemberWithUser<T extends Amity.GroupType> = Member<T> & { readonly user?: Amity.InternalUser; }; type RawMembership<T extends Amity.GroupType> = { isBanned: boolean; isMuted: boolean; muteTimeout: string; lastActivity: Amity.timestamp; } & Amity.Member<T> & Amity.Accredited; type Membership<T extends Amity.GroupType> = Amity.RawMembership<T> & { readonly user?: Amity.InternalUser; }; } }