UNPKG

@open-wa/wa-automate-types-only

Version:

Types generated from the @open-wa/wa-automate package

125 lines (124 loc) 3.06 kB
import { ChatId, ContactId, GroupChatId, NonSerializedId, DataURL, GroupId, MessageId } from './aliases'; import { Contact } from './contact'; export interface Participant { contact: Contact; id: NonSerializedId; isAdmin: boolean; isSuperAdmin: boolean; } export interface GroupMetadata { /** * The chat id of the group [[GroupChatId]] */ id: GroupChatId; /** * The timestamp of when the group was created */ creation: number; /** * The id of the owner of the group [[ContactId]] */ owner: NonSerializedId; /** * An array of participants in the group */ participants: Participant[]; /** * Unknown. */ pendingParticipants: Participant[]; /** * The description of the group */ desc?: string; /** * The account that set the description last. */ descOwner?: ContactId; /** * */ trusted?: boolean; /** * Not sure what this represents */ suspended?: boolean; /** * Not sure what this represents */ support?: boolean; /** * Is this group a parent group (a.k.a community) */ isParentGroup?: boolean; /** * The type of group */ groupType: 'DEAFULT' | 'SUBGROUP' | 'COMMUNITY'; /** * Communities have a default group chat */ defaultSubgroup: boolean; /** * */ isParentGroupClosed: boolean; /** * List of Group IDs that the host account has joined as part of this community */ joinedSubgroups: GroupId[]; } export declare enum groupChangeEvent { remove = "remove", add = "add" } export interface ParticipantChangedEventModel { by: ContactId; action: groupChangeEvent; who: ContactId[]; chat: ChatId; } /** * Group notification types * @readonly * @enum {string} */ export declare enum GroupNotificationTypes { ADD = "add", INVITE = "invite", REMOVE = "remove", LEAVE = "leave", SUBJECT = "subject", DESCRIPTION = "description", PICTURE = "picture", ANNOUNCE = "announce", RESTRICT = "restrict" } /** * Used when creating a new community with. */ export interface NewCommunityGroup { subject: string; icon?: DataURL; ephemeralDuration?: number; } export interface GenericGroupChangeEvent { /** * The contact who triggered this event. (E.g the contact who changed the group picture) */ author: Contact; /** * Some more information about the event */ body: string; groupMetadata: GroupMetadata; /** * Base 64 encoded image */ groupPic: string; id: MessageId; /** * Type of the event */ type: 'picutre' | 'create' | 'delete' | 'subject' | 'revoke_invite' | 'description' | 'restrict' | 'announce' | 'no_frequently_forwarded' | 'announce_msg_bounce' | 'add' | 'remove' | 'demote' | 'promote' | 'invite' | 'leave' | 'modify' | 'v4_add_invite_sent' | 'v4_add_invite_join' | 'growth_locked' | 'growth_unlocked' | 'linked_group_join'; }