import { EventTemplate, NostrEvent } from "nostr-tools";
import { AddressPointer, EventPointer } from "nostr-tools/nip19";
export type ThreadReferences = {
    root?: {
        e: EventPointer;
        a: undefined;
    } | {
        e: undefined;
        a: AddressPointer;
    } | {
        e: EventPointer;
        a: AddressPointer;
    };
    reply?: {
        e: EventPointer;
        a: undefined;
    } | {
        e: undefined;
        a: AddressPointer;
    } | {
        e: EventPointer;
        a: AddressPointer;
    };
};
export declare const Nip10ThreadRefsSymbol: unique symbol;
/**
 * Gets an EventPointer form a NIP-10 threading "e" tag
 * @throws
 */
export declare function getEventPointerFromThreadTag(tag: string[]): EventPointer;
/** Parses NIP-10 tags and handles legacy behavior */
export declare function interpretThreadTags(tags: string[][]): {
    root?: {
        e: string[];
        a: undefined;
    } | {
        e: undefined;
        a: string[];
    } | {
        e: string[];
        a: string[];
    };
    reply?: {
        e: string[];
        a: undefined;
    } | {
        e: undefined;
        a: string[];
    } | {
        e: string[];
        a: string[];
    };
};
/** Returns the parsed NIP-10 tags for an event */
export declare function getNip10References(event: NostrEvent | EventTemplate): ThreadReferences;
