import { AxiosRequestConfig } from "axios"; import { proto } from "../../WAProto"; import { AuthenticationCreds, BaileysEventEmitter, CacheStore, SignalKeyStoreWithTransaction, SocketConfig, } from "../Types"; import { ILogger } from "./logger"; type ProcessMessageContext = { shouldProcessHistoryMsg: boolean; placeholderResendCache?: CacheStore; creds: AuthenticationCreds; keyStore: SignalKeyStoreWithTransaction; ev: BaileysEventEmitter; getMessage: SocketConfig["getMessage"]; logger?: ILogger; options: AxiosRequestConfig<{}>; }; /** Cleans a received message to further processing */ export declare const cleanMessage: ( message: proto.IWebMessageInfo, meId: string, ) => void; export declare const isRealMessage: ( message: proto.IWebMessageInfo, meId: string, ) => boolean | undefined; export declare const shouldIncrementChatUnread: ( message: proto.IWebMessageInfo, ) => boolean; /** * Get the ID of the chat from the given key. * Typically -- that'll be the remoteJid, but for broadcasts, it'll be the participant */ export declare const getChatId: ({ remoteJid, participant, fromMe, }: proto.IMessageKey) => string; type PollContext = { /** normalised jid of the person that created the poll */ pollCreatorJid: string; /** ID of the poll creation message */ pollMsgId: string; /** poll creation message enc key */ pollEncKey: Uint8Array; /** jid of the person that voted */ voterJid: string; }; /** * Decrypt a poll vote * @param vote encrypted vote * @param ctx additional info about the poll required for decryption * @returns list of SHA256 options */ export declare function decryptPollVote( { encPayload, encIv }: proto.Message.IPollEncValue, { pollCreatorJid, pollMsgId, pollEncKey, voterJid }: PollContext, ): proto.Message.PollVoteMessage; export declare const processMessage: ( message: proto.IWebMessageInfo, { shouldProcessHistoryMsg, placeholderResendCache, ev, creds, keyStore, logger, options, getMessage, }: ProcessMessageContext, ) => Promise;