import * as bolt11 from 'bolt11'; import type { Satoshis } from './types'; /** * Decode a bech32 encoded url (lnurl) and return a url * @method decodeUrlOrAddress * @param lnUrl string to decode * @return plain url or null if is an invalid url or lightning address */ export declare const decodeUrl: (lnUrl: string) => string | null; /** * Parse an url and return a bech32 encoded url (lnurl) * @method parseLnUrl * @param url string to parse * @return bech32 encoded url (lnurl) or null if is an invalid url */ export declare const parseLnUrl: (url: string) => string | null; /** * Verify if a string is a valid lnurl value * @method isLnurl * @param url string to validate * @return true if is a valid lnurl value */ export declare const isLnurl: (url: string) => boolean; export declare const parseUrl: (url: string | null) => URL | null; /** * Verify if a string is an url * @method isUrl * @param url string to validate * @return true if is an url */ export declare const isUrl: (url: string | null) => url is string; /** * Verify if a string is an onion url * @method isOnionUrl * @param url string to validate * @return true if is an onion url */ export declare const isOnionUrl: (url: string | null) => boolean; /** * Parse a number to Satoshis * @method checkedToSats * @param value number to parse * @return Satoshis or null */ export declare const checkedToSats: (value: number) => Satoshis | null; /** * Cast a number to Satoshis type * @method toSats * @param value number to cast * @return Satoshis */ export declare const toSats: (value: number) => Satoshis; export declare const isValidAmount: ({ amount, min, max, }: { amount: number; min: number; max: number; }) => boolean; export declare const getJson: ({ url, params, }: { url: string; params?: { [key: string]: string | number; } | undefined; }) => Promise<{ [key: string]: string | number; }>; export declare const decodeInvoice: (invoice: string) => (bolt11.PaymentRequestObject & { tagsObject: bolt11.TagsObject; }) | null;