///
///
import { proto } from '../../WAProto';
import { ChatModification, MessageUpsertType, SocketConfig, WABusinessProfile, WAMediaUpload, WAPatchCreate, WAPresence } from '../Types';
import { BinaryNode } from '../WABinary';
export declare const makeChatsSocket: (config: SocketConfig) => {
processingMutex: {
mutex(code: () => T | Promise): Promise;
};
fetchPrivacySettings: (force?: boolean) => Promise<{
[_: string]: string;
}>;
upsertMessage: (msg: proto.IWebMessageInfo, type: MessageUpsertType) => Promise;
appPatch: (patchCreate: WAPatchCreate) => Promise;
sendPresenceUpdate: (type: WAPresence, toJid?: string | undefined) => Promise;
presenceSubscribe: (toJid: string) => Promise;
profilePictureUrl: (jid: string, type?: 'preview' | 'image', timeoutMs?: number | undefined) => Promise;
onWhatsApp: (...jids: string[]) => Promise<{
exists: boolean;
jid: string;
}[]>;
fetchBlocklist: () => Promise;
fetchStatus: (jid: string) => Promise<{
status: string | undefined;
setAt: Date;
} | undefined>;
updateProfilePicture: (jid: string, content: WAMediaUpload) => Promise;
updateProfileStatus: (status: string) => Promise;
updateProfileName: (name: string) => Promise;
updateBlockStatus: (jid: string, action: 'block' | 'unblock') => Promise;
getBusinessProfile: (jid: string) => Promise;
resyncAppState: (collections: readonly ("critical_block" | "critical_unblock_low" | "regular_high" | "regular_low" | "regular")[], isInitialSync: boolean) => Promise;
chatModify: (mod: ChatModification, jid: string) => Promise;
type: "md";
ws: import("ws");
ev: import("../Types").BaileysEventEmitter & {
process(handler: (events: Partial) => void | Promise): () => void;
buffer(): boolean;
createBufferedFunction(work: (...args: A) => Promise): (...args: A) => Promise;
flush(): Promise;
processInBuffer(task: Promise): any;
isBuffering(): boolean;
};
authState: {
creds: import("../Types").AuthenticationCreds;
keys: import("../Types").SignalKeyStoreWithTransaction;
};
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: Buffer | Uint8Array) => Promise;
sendNode: (frame: BinaryNode) => Promise;
logout: (msg?: string | undefined) => Promise;
end: (error: Error | undefined) => void;
onUnexpectedError: (error: Error, msg: string) => void;
uploadPreKeys: (count?: number) => Promise;
uploadPreKeysToServerIfRequired: () => Promise;
waitForConnectionUpdate: (check: (u: Partial) => boolean | undefined, timeoutMs?: number | undefined) => Promise;
};