import { proto } from "../../WAProto"; import { GroupMetadata, ParticipantAction, SocketConfig, ContactAction, } from "../Types"; import { BinaryNode } from "../WABinary"; export declare const makeGroupsSocket: (config: SocketConfig) => { groupQuery: ( jid: string, type: string, content: BinaryNode, ) => Promise; groupMetadata: (jid: string) => Promise; groupCreate: ( subject: string, participants: string[], ) => Promise; groupLeave: (id: string) => Promise; groupUpdateSubject: (jid: string, subject: string) => Promise; groupRequestParticipantsList: (jid: string) => Promise< { [key: string]: string; }[] >; groupRequestParticipantsUpdate: ( jid: string, participants: string[], action: "approve" | "reject", ) => Promise< { status: string; jid: string; }[] >; groupParticipantsUpdate: ( jid: string, participants: string[], action: ParticipantAction, ) => Promise< { status: string; jid: string; content: BinaryNode; }[] >; groupUpdateDescription: (jid: string, description?: string) => Promise; groupInviteCode: (jid: string) => Promise; groupRevokeInvite: (jid: string) => Promise; groupAcceptInvite: (code: string) => Promise; /** * revoke a v4 invite for someone * @param groupJid group jid * @param invitedJid jid of person you invited * @returns true if successful */ groupRevokeInviteV4: ( groupJid: string, invitedJid: string, ) => Promise; /** * accept a GroupInviteMessage * @param key the key of the invite message, or optionally only provide the jid of the person who sent the invite * @param inviteMessage the message to accept */ groupAcceptInviteV4: ( key: string | proto.IMessageKey, inviteMessage: proto.Message.IGroupInviteMessage, ) => Promise; groupGetInviteInfo: (code: string) => Promise; groupToggleEphemeral: ( jid: string, ephemeralExpiration: number, ) => Promise; groupSettingUpdate: ( jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked", ) => Promise; groupMemberAddMode: ( jid: string, mode: "admin_add" | "all_member_add", ) => Promise; groupJoinApprovalMode: (jid: string, mode: "on" | "off") => Promise; groupFetchAllParticipating: () => Promise<{ [_: string]: GroupMetadata; }>; processingMutex: { mutex(code: () => T | Promise): Promise; }; fetchPrivacySettings: (force?: boolean) => Promise<{ [_: string]: string; }>; upsertMessage: ( msg: proto.IWebMessageInfo, type: import("../Types").MessageUpsertType, ) => Promise; appPatch: (patchCreate: import("../Types").WAPatchCreate) => Promise; sendPresenceUpdate: ( type: import("../Types").WAPresence, toJid?: string | undefined, ) => Promise; presenceSubscribe: ( toJid: string, tcToken?: Buffer | undefined, ) => Promise; getLidUser: (jid: string) => Promise< | { lid: string; id: string; }[] | undefined >; onWhatsApp: (...jids: string[]) => Promise< | { jid: string; exists: unknown; }[] | undefined >; fetchBlocklist: () => Promise; fetchStatus: ( ...jids: string[] ) => Promise; fetchDisappearingDuration: ( ...jids: string[] ) => Promise; updateProfilePicture: ( jid: string, content: import("../Types").WAMediaUpload, ) => Promise; removeProfilePicture: (jid: string) => Promise; updateProfileStatus: (status: string) => Promise; updateProfileName: (name: string) => Promise; updateBlockStatus: ( jid: string, action: "block" | "unblock", ) => Promise; updateCallPrivacy: ( value: import("../Types").WAPrivacyCallValue, ) => Promise; updateLastSeenPrivacy: ( value: import("../Types").WAPrivacyValue, ) => Promise; updateOnlinePrivacy: ( value: import("../Types").WAPrivacyOnlineValue, ) => Promise; updateProfilePicturePrivacy: ( value: import("../Types").WAPrivacyValue, ) => Promise; updateStatusPrivacy: ( value: import("../Types").WAPrivacyValue, ) => Promise; updateReadReceiptsPrivacy: ( value: import("../Types").WAReadReceiptsValue, ) => Promise; updateGroupsAddPrivacy: ( value: import("../Types").WAPrivacyGroupAddValue, ) => Promise; updateDefaultDisappearingMode: (duration: number) => Promise; getBusinessProfile: ( jid: string, ) => Promise; resyncAppState: ( collections: readonly ( | "critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular" )[], isInitialSync: boolean, ) => Promise; chatModify: ( mod: import("../Types").ChatModification, jid: string, ) => Promise; cleanDirtyBits: ( type: "account_sync" | "groups", fromTimestamp?: string | number | undefined, ) => Promise; addLabel: ( jid: string, labels: import("../Types/Label").LabelActionBody, ) => Promise; addChatLabel: (jid: string, labelId: string) => Promise; removeChatLabel: (jid: string, labelId: string) => Promise; addMessageLabel: ( jid: string, messageId: string, labelId: string, ) => Promise; removeMessageLabel: ( jid: string, messageId: string, labelId: string, ) => Promise; clearMessage: ( jid: string, key: import("../Types").WAProto.IMessageKey, timeStamp: number | import("long").Long, ) => Promise; star: ( jid: string, messages: { id: string; fromMe?: boolean | undefined; }[], star: boolean, ) => Promise; addOrEditContact: (jid: string, contact: ContactAction) => Promise; removeContact: (jid: string) => Promise; executeUSyncQuery: ( usyncQuery: import("..").USyncQuery, ) => Promise; type: "md"; ws: import("./Client").WebSocketClient; ev: import("../Types").BaileysEventEmitter & { process( handler: ( events: Partial, ) => void | Promise, ): () => void; buffer(): void; createBufferedFunction( work: (...args: A) => Promise, ): (...args: A) => Promise; flush(force?: boolean | undefined): boolean; isBuffering(): boolean; }; authState: { creds: import("../Types").AuthenticationCreds; keys: import("../Types").SignalKeyStoreWithTransaction; }; signalRepository: import("../Types").SignalRepository; user: import("../Types").Contact | undefined; generateMessageTag: () => string; query: ( node: BinaryNode, timeoutMs?: number | undefined, ) => Promise; waitForMessage: ( msgId: string, timeoutMs?: number | undefined, ) => Promise; waitForSocketOpen: () => Promise; sendRawMessage: (data: Uint8Array | Buffer) => Promise; sendNode: (frame: BinaryNode) => Promise; logout: (msg?: string | undefined) => Promise; end: (error: Error | undefined) => void; onUnexpectedError: ( err: Error | import("@hapi/boom").Boom, msg: string, ) => void; uploadPreKeys: (count?: number) => Promise; uploadPreKeysToServerIfRequired: () => Promise; requestPairingCode: (phoneNumber: string, code?: string) => Promise; waitForConnectionUpdate: ( check: ( u: Partial, ) => boolean | undefined, timeoutMs?: number | undefined, ) => Promise; sendWAMBuffer: (wamBuffer: Buffer) => Promise; }; export declare const extractGroupMetadata: ( result: BinaryNode, ) => GroupMetadata;