///
///
import { GroupMetadata, LegacySocketConfig, ParticipantAction } from '../Types';
import { BinaryNode } from '../WABinary';
declare const makeGroupsSocket: (config: LegacySocketConfig) => {
groupMetadata: (jid: string, minimal: boolean) => Promise;
/**
* Create a group
* @param title like, the title of the group
* @param participants people to include in the group
*/
groupCreate: (title: string, participants: string[]) => Promise;
/**
* Leave a group
* @param jid the ID of the group
*/
groupLeave: (id: string) => Promise;
/**
* Update the subject of the group
* @param {string} jid the ID of the group
* @param {string} title the new title of the group
*/
groupUpdateSubject: (id: string, title: string) => Promise;
/**
* Update the group description
* @param {string} jid the ID of the group
* @param {string} title the new title of the group
*/
groupUpdateDescription: (jid: string, description: string) => Promise<{
status: number;
}>;
/**
* Update participants in the group
* @param jid the ID of the group
* @param participants the people to add
*/
groupParticipantsUpdate: (id: string, participants: string[], action: ParticipantAction) => Promise<{
jid: string;
status: any;
}[]>;
/** Query broadcast list info */
getBroadcastListInfo: (jid: string) => Promise;
groupInviteCode: (jid: string) => Promise;
relayMessage: (message: import("../Types").WAProto.IWebMessageInfo, { waitForAck }?: {
waitForAck: boolean;
}) => Promise;
waUploadToServer: import("../Types").WAMediaUploadFunction;
generateUrlInfo: (text: string) => Promise;
messageInfo: (jid: string, messageID: string) => Promise;
downloadMediaMessage: (message: import("../Types").WAProto.IWebMessageInfo, type?: "stream" | "buffer", options?: import("..").MediaDownloadOptions) => Promise;
updateMediaMessage: (message: import("../Types").WAProto.IWebMessageInfo) => Promise;
fetchMessagesFromWA: (jid: string, count: number, cursor?: import("../Types").WAMessageCursor | undefined) => Promise;
loadMessageFromWA: (jid: string, id: string) => Promise;
searchMessages: (txt: string, inJid: string | null, count: number, page: number) => Promise<{
last: boolean;
messages: import("../Types").WAProto.WebMessageInfo[];
}>;
sendMessage: (jid: string, content: import("../Types").AnyMessageContent, options?: {
messageId?: string | undefined;
cachedGroupMetadata?: ((jid: string) => Promise) | undefined;
} & {
timestamp?: Date | undefined;
quoted?: import("../Types").WAProto.IWebMessageInfo | undefined;
ephemeralExpiration?: string | number | undefined;
mediaUploadTimeoutMs?: number | undefined;
} & {
waitForAck?: boolean | undefined;
}) => Promise;
sendChatsQuery: (epoch: number) => Promise;
profilePictureUrl: (jid: string, timeoutMs?: number | undefined) => Promise;
chatRead: (fromMessage: import("../Types").WAProto.IMessageKey, count: number) => Promise;
chatModify: (modification: import("../Types").ChatModification, jid: string, chatInfo: Pick, timestampNow?: number | undefined) => Promise;
onWhatsApp: (str: string) => Promise<{
exists: boolean;
jid: string;
isBusiness: boolean;
} | undefined>;
sendPresenceUpdate: (type: import("../Types").WAPresence, toJid?: string | undefined) => Promise;
presenceSubscribe: (jid: string) => Promise;
getStatus: (jid: string) => Promise<{
status: string;
}>;
setStatus: (status: string) => Promise<{
status: number;
}>;
updateBusinessProfile: (profile: import("../Types").WABusinessProfile) => Promise;
updateProfileName: (name: string) => Promise<{
status: number;
pushname: string;
}>;
updateProfilePicture(jid: string, imgBuffer: Buffer): Promise;
blockUser: (jid: string, type?: "add" | "remove") => Promise;
getBusinessProfile: (jid: string) => Promise;
state: import("../Types").ConnectionState;
authInfo: import("../Types").LegacyAuthenticationCreds;
ev: import("../Types").LegacyBaileysEventEmitter;
canLogin: () => boolean;
logout: () => Promise;
waitForConnectionUpdate: (check: (u: Partial) => boolean | undefined, timeoutMs?: number | undefined) => Promise;
type: "legacy";
ws: import("ws");
sendAdminTest: () => Promise;
updateKeys: (info: {
encKey: Buffer;
macKey: Buffer;
}) => {
encKey: Buffer;
macKey: Buffer;
};
waitForSocketOpen: () => Promise;
sendNode: ({ json, binaryTag, tag, longTag }: import("../Types").SocketSendMessageOptions) => Promise;
generateMessageTag: (longTag?: boolean) => string;
waitForMessage: (tag: string, requiresPhoneConnection: boolean, timeoutMs?: number | undefined) => {
promise: Promise;
cancelToken: () => void;
};
query: ({ json, timeoutMs, expect200, tag, longTag, binaryTag, requiresPhoneConnection }: import("../Types").SocketQueryOptions) => Promise;
setQuery: (nodes: BinaryNode[], binaryTag?: import("../Types").WATag, tag?: string | undefined) => Promise<{
status: number;
}>;
currentEpoch: () => number;
end: (error: Error | undefined) => void;
};
export default makeGroupsSocket;