import type { MintActiveKeys, MintKeys } from '@cashu/cashu-ts'; import type { Mint } from '../../model/mint'; import type { Proof } from '@cashu/cashu-ts'; /** * 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 validateMintKeys: (keys: MintActiveKeys) => boolean; export declare const isPow2: (number: number) => boolean; /** * returns a subset of all tokens that belong to the specified mint * @param mint * @param tokens * @returns */ export declare const getTokensForMint: (mint: Mint, tokens: Array) => Proof[]; 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 getMintForToken: (token: Proof, mints: Array) => Mint | undefined; export declare const getAmountForTokenSet: (tokens: Array) => number; export declare const getKeysetsOfTokens: (tokens: Array) => string[]; export declare const removeDuplicatesFromArray: (array: Type[]) => Type[]; export declare const formatAmount: (amount: number, unit: string, withSuffix?: 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; }>;