///
///
import { AnyMessageContent, MediaConnInfo, WAMessageKey, MessageReceiptType, MessageRelayOptions, MiscMessageGenerationOptions, SocketConfig } from "../Models";
import { BinaryNode } from '../Internal';
import { proto } from "../Proto";
export declare const makeMessagesSocket: (config: SocketConfig) => {
assertSessions: (jids: string[], force: boolean) => Promise;
relayMessage: (jid: string, message: proto.IMessage, { messageId: msgId, participant, additionalAttributes, useUserDevicesCache, cachedGroupMetadata }: MessageRelayOptions) => Promise;
sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: MessageReceiptType) => Promise;
sendReadReceipt: (jid: string, participant: string | undefined, messageIds: string[]) => Promise;
readMessages: (keys: WAMessageKey[]) => Promise;
refreshMediaConn: (forceGet?: boolean) => Promise;
waUploadToServer: import("../Models").WAMediaUploadFunction;
fetchPrivacySettings: (force?: boolean) => Promise<{
[_: string]: string;
}>;
updateMediaMessage: (message: proto.IWebMessageInfo) => Promise;
sendMessage: (jid: string, content: AnyMessageContent, options?: 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<{
status: string | number;
jid: string;
}[]>;
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" | "locked" | "not_announcement" | "unlocked") => Promise;
groupFetchAllParticipating: () => Promise<{
[_: string]: import("../Models").GroupMetadata;
}>;
waitForConnectionUpdate: (check: (u: Partial) => boolean, timeoutMs?: number) => Promise;
addInfoObjects: (name: any, extend: any) => boolean;
getUser: (name: any) => any;
checkAddUser: (name: any) => boolean;
checkUser: (name: any) => boolean;
sessionsDir: (sessionId?: string) => string;
checkSession: (name: any) => boolean;
getSessionKey: (name: any) => string | false;
searchObjects: (name: any) => any;
getAll: () => any;
checkClient: (name: any) => boolean;
deleteToken: (name: any) => boolean;
deleteSession: (name: any) => boolean;
removeInfoObjects: (name: any, key: any) => boolean;
type: "md";
ws: import("ws");
ev: import("../Models").SuperChatsEventEmitter;
authState: {
creds: import("../Models").AuthenticationCreds;
keys: import("../Models").SignalKeyStoreWithTransaction;
};
user: import("../Models").Contact;
generateMessageTag: () => string;
query: (node: BinaryNode, timeoutMs?: number) => Promise;
waitForMessage: (msgId: string, timeoutMs?: number) => Promise;
waitForSocketOpen: () => Promise;
sendRawMessage: (data: Uint8Array | Buffer) => Promise;
sendNode: (frame: BinaryNode) => Promise;
uploadPreKeys: (count?: number) => Promise;
logout: (msg?: string) => Promise;
emitEventsFromMap: (map: Partial>) => void;
close: () => Promise;
end: (error: Error) => void;
onUnexpectedError: (error: Error, msg: string) => void;
logs_e: (message: string) => void;
logs_i: (message: string) => void;
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<{}>;
};