import { Boom } from "@hapi/boom"; import { SocketConfig } from "../Types"; import { BinaryNode } from "../WABinary"; import { WebSocketClient } from "./Client"; /** * Connects to WA servers and performs: * - simple queries (no retry mechanism, wait for connection establishment) * - listen to messages and emit events * - query phone connection */ export declare const makeSocket: (config: SocketConfig) => { type: "md"; ws: WebSocketClient; ev: import("../Types").BaileysEventEmitter & { process( handler: ( events: Partial, ) => void | Promise, ): () => void; buffer(): void; createBufferedFunction( work: (...args: A) => Promise, ): (...args: A) => Promise; flush(force?: boolean | undefined): boolean; isBuffering(): boolean; }; authState: { creds: import("../Types").AuthenticationCreds; keys: import("../Types").SignalKeyStoreWithTransaction; }; signalRepository: import("../Types").SignalRepository; readonly user: import("../Types").Contact | undefined; generateMessageTag: () => string; query: (node: BinaryNode, timeoutMs?: number) => Promise; waitForMessage: ( msgId: string, timeoutMs?: number | undefined, ) => Promise; waitForSocketOpen: () => Promise; sendRawMessage: (data: Uint8Array | Buffer) => Promise; sendNode: (frame: BinaryNode) => Promise; logout: (msg?: string) => Promise; end: (error: Error | undefined) => void; onUnexpectedError: (err: Error | Boom, msg: string) => void; uploadPreKeys: (count?: number) => Promise; uploadPreKeysToServerIfRequired: () => Promise; requestPairingCode: (phoneNumber: string, code?: string) => Promise; /** Waits for the connection to WA to reach a state */ waitForConnectionUpdate: ( check: ( u: Partial, ) => boolean | undefined, timeoutMs?: number | undefined, ) => Promise; sendWAMBuffer: (wamBuffer: Buffer) => Promise; }; export type Socket = ReturnType;