import type { SetOptional } from 'type-fest' import type { Contact, MessageMedia, Client as _Client } from '@juzi/whatsapp-web.js' declare module '@juzi/whatsapp-web.js' { declare namespace WAWebJS { export type CreateGroupResult = { gid: { server: string user: string _serialized: string } missingParticipants: Record } export enum GroupNotificationTypes { ADD = 'add', INVITE = 'invite', REMOVE = 'remove', LEAVE = 'leave', SUBJECT = 'subject', DESCRIPTION = 'description', PICTURE = 'picture', ANNOUNCE = 'announce', RESTRICT = 'restrict', CREATE = 'create', } /** Message type buttons */ export class Buttons { body: string | MessageMedia buttons: Array<{ body: string}> title?: string | null footer?: string | null constructor(body: string, buttons: Array<{ body: string}>, title?: string | null, footer?: string | null) } export interface Row { title: string description?: string } export interface Section { title: string rows: Row [] } /** Message type List */ export class List { body: string buttonText: string sections: Row [] title?: string | null footer?: string | null constructor(body: string, buttonText: string, sections: Array, title?: string | null, footer?: string | null) } } export = WAWebJS }