///
///
import { SocketConfig, MediaConnInfo, AnyMessageContent, MiscMessageGenerationOptions, WAMediaUploadFunction, MessageRelayOptions } 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, cachedGroupMetadata }: MessageRelayOptions) => Promise;
sendReceipt: (jid: string, participant: string | undefined, messageIds: string[], type: 'read' | 'read-self' | undefined) => Promise;
sendReadReceipt: (jid: string, participant: string | undefined, messageIds: string[]) => Promise;
refreshMediaConn: (forceGet?: boolean) => Promise;
waUploadToServer: WAMediaUploadFunction;
fetchPrivacySettings: (force?: boolean) => Promise<{
[_: string]: string;
}>;
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;
groupUpdateDescription: (jid: string, description?: string) => Promise;
groupInviteCode: (jid: string) => Promise; /**
* generic send receipt function
* used for receipts of phone call, read, delivery etc.
* */
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: import("../Models").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<{}>;
};