import { NostrEvent } from "nostr-tools";
export declare const GROUPS_LIST_KIND = 10009;
export declare const GROUP_MESSAGE_KIND = 9;
/** NIP-29 group pointer */
export type GroupPointer = {
    /** the id of the group */
    id: string;
    /** The url to the relay with wss:// or ws:// protocol */
    relay: string;
    /** The name of the group */
    name?: string;
};
/**
 * decodes a group identifier into a group pointer object
 * @throws
 */
export declare function decodeGroupPointer(str: string): GroupPointer;
/** Converts a group pointer into a group identifier */
export declare function encodeGroupPointer(pointer: GroupPointer): string;
export declare const GroupsPublicSymbol: unique symbol;
export declare const GroupsHiddenSymbol: unique symbol;
/** gets a {@link GroupPointer} from a "h" tag if it has a relay hint */
export declare function getGroupPointerFromHTag(tag: string[]): GroupPointer | undefined;
/** gets a {@link GroupPointer} from a "group" tag */
export declare function getGroupPointerFromGroupTag(tag: string[]): GroupPointer;
/** Returns all the public groups from a k:10009 list */
export declare function getPublicGroups(bookmark: NostrEvent): GroupPointer[];
/** Returns all the hidden groups from a k:10009 list */
export declare function getHiddenGroups(bookmark: NostrEvent): GroupPointer[] | undefined;
