import { Model } from "../event-store/interface.js";
import { Rumor } from "../helpers/gift-wraps.js";
/**
 * A model that returns all wrapped messages for a pubkey
 * @param self - The pubkey of the user
 */
export declare function WrappedMessagesModel(self: string): Model<Rumor[]>;
/** A model that returns all conversations that a pubkey is participating in */
export declare function WrappedMessagesGroups(self: string): Model<{
    id: string;
    participants: string[];
    lastMessage: Rumor;
}[]>;
/**
 * A model that returns all wrapped direct messages in a conversation
 * @param self - The pubkey of the user
 * @param participants - A conversation identifier or a list of participant pubkeys
 */
export declare function WrappedMessagesGroup(self: string, participants: string | string[]): Model<Rumor[]>;
/**
 * Returns an array of root wrapped messages that have replies
 * @param self - The pubkey of the user
 * @param participants - A conversation identifier or a list of participant pubkeys
 */
export declare function WrappedMessageThreads(self: string, participants: string | string[]): Model<Rumor[]>;
/**
 * A model that returns all the gift wrapped direct messages that are replies to a given message
 * @param self - The pubkey of the user
 * @param message - The message to get the replies for
 */
export declare function WrappedMessageReplies(self: string, message: Rumor): Model<Rumor[]>;
