///
///
import { SocketConfig, WAPresence, WAPatchCreate, WAMediaUpload, WAPatchName, AppStateChunk, ChatModification, Contact, WABusinessProfile } from "../Models";
import { BinaryNode } from "../Internal";
import { proto } from '../Proto';
export declare const makeChatsSocket: (config: SocketConfig) => {
appPatch: (patchCreate: WAPatchCreate) => Promise;
sendPresenceUpdate: (type: WAPresence, toJid?: string) => Promise;
presenceSubscribe: (toJid: string) => Promise;
profilePictureUrl: (jid: string, type?: 'preview' | 'image', timeoutMs?: number) => Promise;
onWhatsApp: (...jids: string[]) => Promise<{
exists: boolean;
jid: string;
}[]>;
fetchBlocklist: () => Promise;
fetchStatus: (jid: string) => Promise<{
status: string;
setAt: Date;
}>;
updateProfilePicture: (jid: string, content: WAMediaUpload) => Promise;
updateBlockStatus: (jid: string, action: 'block' | 'unblock') => Promise;
getBusinessProfile: (jid: string) => Promise;
resyncAppState: (collections: WAPatchName[]) => Promise;
chatModify: (mod: ChatModification, jid: string) => Promise;
resyncMainAppState: () => Promise;
assertSessions: (jids: string[], force: boolean) => Promise;
relayMessage: (jid: string, message: proto.IMessage, { messageId: msgId, participant, additionalAttributes, cachedGroupMetadata }: import("../Models").MessageRelayOptions) => Promise;
sendReceipt: (jid: string, participant: string, messageIds: string[], type: "read" | "read-self") => Promise;
sendReadReceipt: (jid: string, participant: string, messageIds: string[]) => Promise;
refreshMediaConn: (forceGet?: boolean) => Promise;
waUploadToServer: import("../Models").WAMediaUploadFunction;
fetchPrivacySettings: (force?: boolean) => Promise<{
[_: string]: string;
}>;
sendMessage: (jid: string, content: import("../Models").AnyMessageContent, options?: import("../Models").MiscMessageGenerationOptions) => Promise;
groupMetadata: (jid: string) => Promise;
groupCreate: (subject: string, participants: string[]) => Promise;
groupLeave: (id: string) => Promise;
groupUpdateSubject: (jid: string, subject: string) => Promise;
groupParticipantsUpdate: (jid: string, participants: string[], action: import("../Models").ParticipantAction) => Promise;
groupUpdateDescription: (jid: string, description?: string) => Promise;
groupInviteCode: (jid: string) => Promise;
groupRevokeInvite: (jid: string) => Promise;
groupAcceptInvite: (code: string) => Promise;
groupToggleEphemeral: (jid: string, ephemeralExpiration: number) => Promise;
groupSettingUpdate: (jid: string, setting: "announcement" | "not_announcement" | "locked" | "unlocked") => Promise;
groupFetchAllParticipating: () => Promise<{
[_: string]: import("../Models").GroupMetadata;
}>;
type: "md";
ws: import("ws");
ev: import("../Models").SuperChatsEventEmitter;
authState: {
creds: import("../Models").AuthenticationCreds;
keys: import("../Models").SignalKeyStoreWithTransaction;
};
user: Contact;
assertingPreKeys: (range: number, execute: (keys: {
[_: number]: any;
}) => Promise) => Promise;
generateMessageTag: () => string;
query: (node: BinaryNode, timeoutMs?: number) => Promise;
waitForMessage: (msgId: string, timeoutMs?: number) => Promise;
waitForSocketOpen: () => Promise;
sendRawMessage: (data: Uint8Array | Buffer) => Promise;
sendNode: (node: BinaryNode) => Promise;
logout: () => Promise;
close: () => Promise;
end: (error: Error) => void;
onUnexpectedError: (error: Error, msg: string) => void;
logs_e: (message: string) => void;
logs_i: (message: string) => void;
waitForConnectionUpdate: (check: (u: Partial) => boolean, timeoutMs?: number) => Promise;
createGroup: (name: string, participants: any) => Promise<{}>;
addParticipantsGroup: (id: string, participants: any) => Promise<{}>;
removeParticipantsGroup: (id: string, participants: any) => Promise<{}>;
addGroupAdmins: (id: string, participants: any) => Promise<{}>;
removeGroupAdmins: (id: string, participants: any) => Promise<{}>;
groupTitle: (id: string, title: string) => Promise<{}>;
groupDescription: (id: string, description: string) => Promise<{}>;
leaveGroup: (id: string) => Promise<{}>;
getGroupLink: (id: string) => Promise<{}>;
joinGroup: (code: string) => Promise<{}>;
setGroupSettings: (id: string, option: "message" | "settings", boolean: boolean) => Promise<{}>;
revokeGroupLink: (id: string) => Promise<{}>;
};