import { NostrEvent } from "nostr-tools";
import { Rumor } from "./gift-wraps.js";
/**
 * Groups messages into bubble sets based on the pubkey and time
 *
 * @param messages - The messages to group
 * @param buffer - Minimum number of seconds between message groups
 * @returns The grouped messages
 */
export declare function groupMessageEvents<T extends {
    created_at: number;
    pubkey: string;
}>(messages: T[], buffer?: number): T[][];
/**
 * Returns all pubkeys of participants of a conversation
 * @param participants - A conversation identifier (pubkey1:pubkey2:pubkey3), or a users pubkey, or a list of participant pubkeys, or a rumor message
 * @returns The participants of the conversation
 */
export declare function getConversationParticipants(participants: string | string[] | Rumor | NostrEvent): string[];
/**
 * Creates a conversation identifier from a users pubkey and alist of correspondants
 * @param participants - The participants of the conversation
 * @returns The conversation identifier
 */
export declare function createConversationIdentifier(...participants: (string | string[])[]): string;
/**
 * Returns the conversation identifier for a wrapped direct message
 * @param message - The NIP-17 Rumor or NIP-04 message event
 * @returns The conversation identifier
 */
export declare function getConversationIdentifierFromMessage(message: Rumor | NostrEvent): string;
