@open-wa/wa-automate-types-only
Version:
Types generated from the @open-wa/wa-automate package
125 lines (124 loc) • 3.06 kB
TypeScript
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';
}