import { CashuWallet } from '@cashu/cashu-ts'; import type { Proof, Token, MintKeys } from '@cashu/cashu-ts'; import type { Mint } from '../db/models/types.js'; /** * returns a subset of tokens, so that not all tokens are sent to mint for smaller amounts. * @param amount * @param tokens * @returns */ export declare const getTokensToSend: (amount: number, tokens: Array) => Proof[]; export declare const getLockedTokens: (proofs: Proof[]) => Proof[]; export declare const getKeysForUnit: (keys: MintKeys[], unit?: string) => MintKeys | undefined; export declare const getKeysForKeysetId: (keys: MintKeys[], keysetId: string) => MintKeys | undefined; export declare const isPow2: (number: number) => boolean; export declare const isValidToken: (obj: any) => boolean; /** * removes a set of tokens from another set of tokens, and returns the remaining. * @param tokens * @param tokensToRemove * @returns */ export declare const getTokenSubset: (tokens: Array, tokensToRemove: Array) => Proof[]; export declare const getAmountForTokenSet: (tokens: Array) => number; export declare const getUnitForKeysetId: (mints: Mint[], keysetId: string) => string; export declare const getMintForKeysetId: (mints: Mint[], keysetId: string) => Mint | undefined; export declare const getExactAmount: (amount: number, proofs: Proof[], includeFees?: boolean) => Proof[] | undefined; export declare const getAproxAmount: (amount: number, proofs: Proof[], includeFees?: boolean) => Proof[] | undefined; export declare const getProofsOfMintUnit: (mint: Mint, proofs: Proof[], unit?: string) => Proof[]; export declare const getProofsOfMintsUnit: (mints: Mint[], proofs: Proof[], unit?: string) => Proof[]; export declare const getKeysetsOfTokens: (tokens: Array) => string[]; export declare const removeDuplicatesFromArray: (array: Array) => Type[]; export declare const formatAmount: (amount: number, unit?: string) => string; export declare const formatTime: (time: number) => string; export declare const formatSecToMinStr: (seconds: number) => string; export declare const getUnitSymbol: (unit: string, isLong?: boolean) => string; export declare const getInvoiceFromAddress: (address: string, amount: number) => Promise<{ pr: string; maxSendable: number; minSendable: number; }>; export declare const getInvoiceFromLNURL: (LNURL: string, amount: number) => Promise<{ pr: string; maxSendable: number; minSendable: number; }>; export declare const isNumeric: (value: unknown) => boolean; export declare const getUnitsForMints: (mints: Mint[]) => string[]; export declare const getWalletWithUnit: (mints: Mint[], mintUrl: string, unit?: string) => Promise; export declare const checkValidPubkey: (pubkey: string) => boolean; export declare const getConvertedPubKey: (key: string) => Promise; export declare const resolveNip05: (nostrAddr: string) => Promise; export declare const separateProofsById: (proofs: Proof[]) => { id: string; proofs: Proof[]; }[]; export declare const parseSecrets: (token: Token) => { lockPubs: string[]; allDLEQsValid: boolean; timelock: number; isKnownMint: boolean; };