import { NostrEvent } from "nostr-tools";
import { AddressPointer, EventPointer, ProfilePointer } from "nostr-tools/nip19";
export declare const HighlightSourceEventPointerSymbol: unique symbol;
export declare const HighlightSourceAddressPointerSymbol: unique symbol;
export declare const HighlightAttributionSymbol: unique symbol;
/**
 * Get the highlighted content from a highlight event
 * Returns the content field which contains the highlighted text
 */
export declare function getHighlightText(event: NostrEvent): string;
/**
 * Get the source event pointer that was highlighted (from 'e' tag)
 * Returns undefined if no event reference is found
 */
export declare function getHighlightSourceEventPointer(event: NostrEvent): EventPointer | undefined;
/**
 * Get the source address pointer that was highlighted (from 'a' tag)
 * Returns undefined if no address reference is found
 */
export declare function getHighlightSourceAddressPointer(event: NostrEvent): AddressPointer | undefined;
/** Get the source URL that was highlighted (from 'r' tag) */
export declare function getHighlightSourceUrl(event: NostrEvent): string | undefined;
/** Role of an attributed profiles in a highlight */
export type HighlightAttributionRole = "author" | "editor" | "mention" | string;
/** Attribution information for a highlight */
export type HighlightAttribution = ProfilePointer & {
    /** Role of the attributed profile */
    role?: HighlightAttributionRole;
};
/**
 * Get attribution information from p tags
 * Parses p tags to extract authors, editors, and other attributed individuals
 */
export declare function getHighlightAttributions(event: NostrEvent): HighlightAttribution[];
/**
 * Get the context text for a highlight (from 'context' tag)
 * This provides surrounding content to give context to the highlight
 */
export declare function getHighlightContext(event: NostrEvent): string | undefined;
/** Get the comment for a highlight (from 'comment' tag) */
export declare function getHighlightComment(event: NostrEvent): string | undefined;
/**
 * Check if the highlight has any source reference (event, address, or URL)
 */
export declare function hasHighlightSource(event: NostrEvent): boolean;
