import type KeyedDB from "@adiwajshing/keyed-db"; import type { Comparable } from "@adiwajshing/keyed-db/lib/Types"; import type { Logger } from "pino"; import type { BaileysEventEmitter, Chat, ConnectionState, Contact, GroupMetadata, MessageInfo, PresenceData, WAMessage } from "../Types"; export declare const waChatKey: (pin: boolean) => { key: (c: Chat) => string; compare: (k1: string, k2: string) => number; }; export declare const waMessageID: (m: WAMessage) => string; export declare type BaileysInMemoryStoreConfig = { chatKey: Comparable; logger: Logger; }; declare const _default: ({ logger, chatKey }: BaileysInMemoryStoreConfig) => { chats: KeyedDB; contacts: { [_: string]: Contact; }; messages: { [_: string]: { array: import("../Types").WAProto.IWebMessageInfo[]; get: (id: string) => import("../Types").WAProto.IWebMessageInfo; upsert: (item: import("../Types").WAProto.IWebMessageInfo, mode: "append" | "prepend") => void; update: (item: import("../Types").WAProto.IWebMessageInfo) => boolean; remove: (item: import("../Types").WAProto.IWebMessageInfo) => boolean; updateAssign: (id: string, update: Partial) => boolean; clear: () => void; filter: (contain: (item: import("../Types").WAProto.IWebMessageInfo) => boolean) => void; }; }; groupMetadata: { [_: string]: GroupMetadata; }; messageInfos: { [id: string]: MessageInfo; }; state: ConnectionState; presences: { [id: string]: { [participant: string]: PresenceData; }; }; listen: (ev: BaileysEventEmitter) => void; }; export default _default;