import { NostrEvent } from "nostr-tools";
import { AddressPointer, EventPointer } from "nostr-tools/nip19";
import { ParsedInvoice } from "./bolt11.js";
export declare const ZapRequestSymbol: unique symbol;
export declare const ZapSenderSymbol: unique symbol;
export declare const ZapReceiverSymbol: unique symbol;
export declare const ZapInvoiceSymbol: unique symbol;
export declare const ZapEventPointerSymbol: unique symbol;
export declare const ZapAddressPointerSymbol: unique symbol;
/** Returns the senders pubkey */
export declare function getZapSender(zap: NostrEvent): string;
/**
 * Gets the receivers pubkey
 * @throws
 */
export declare function getZapRecipient(zap: NostrEvent): string;
/** Returns the parsed bolt11 invoice */
export declare function getZapPayment(zap: NostrEvent): ParsedInvoice | undefined;
/** Gets the AddressPointer that was zapped */
export declare function getZapAddressPointer(zap: NostrEvent): AddressPointer | null;
/** Gets the EventPointer that was zapped */
export declare function getZapEventPointer(zap: NostrEvent): EventPointer | null;
/** Gets the preimage for the bolt11 invoice */
export declare function getZapPreimage(zap: NostrEvent): string | undefined;
/**
 * Returns the zap request event inside the zap receipt
 * @throws
 */
export declare function getZapRequest(zap: NostrEvent): NostrEvent;
/**
 * Checks if the zap is valid
 * DOES NOT validate LNURL address
 */
export declare function isValidZap(zap?: NostrEvent): boolean;
export type ZapSplit = {
    pubkey: string;
    percent: number;
    weight: number;
    relay?: string;
};
/** Returns the zap splits for an event */
export declare function getZapSplits(event: NostrEvent): ZapSplit[] | undefined;
