import { MeltQuoteState, MintQuoteState, PaymentRequest, type Proof, type Token, CheckStateEnum } from '@cashu/cashu-ts'; import { EXPIRED, type Mint, type MultiMeltQuote, type StoredMeltQuote, type StoredMintQuote } from '../db/models/types.js'; export declare const createMintQuote: (mintUrl: string, amount: number, options?: { unit?: string; }) => Promise; export declare const createMeltQuote: (mintUrl: string, invoice: string, options?: { unit?: string; }) => Promise; export declare const createMultiMint: (mintsWithAmount: (Mint & { amount: number; })[], invoice: string) => Promise; export declare const subrcibeToMintQuote: (mintUrl: string, quote: string, cb?: (state: MintQuoteState) => void) => Promise; export declare const subscribeToProofStateUpdate: (mintUrl: string, proofs: Proof[], cb?: (state: CheckStateEnum) => void) => Promise; export declare const subrcibeToMeltQuote: (mintUrl: string, quote: string, cb?: (state: MeltQuoteState) => void) => Promise; export declare const checkMintQuote: (quote: StoredMintQuote) => Promise; export declare const checkMeltQuote: (quote: StoredMeltQuote) => Promise; export declare const mintProofs: (quote: StoredMintQuote) => Promise; export declare const meltProofs: (quote: StoredMeltQuote, options?: { privkey?: string; }) => Promise<{ change: Proof[]; quoteToStore: { request: string; quote: string; expiry: number; unit: string; amount: number; error?: string | undefined; code?: number | undefined; detail?: string | undefined; fee_reserve: number; payment_preimage: string | null; change?: Array | undefined; state: MeltQuoteState | EXPIRED; mintUrl: string; createdAt: number; lastChangedAt: number; type: "melt"; in?: import("../db/models/types.js").Proof[]; out?: import("../db/models/types.js").Proof[]; fees?: number; counts?: { keysetId: string; counts: number[]; }; }; }>; export declare const receiveEcash: (token: string | Token, options?: { pubkey?: string; privkey?: string; }) => Promise<{ untrustedMint?: string; proofs: Proof[]; }>; export declare const sendEcash: (mintUrl: string, amount: number, options?: { unit?: string; includeFees?: boolean; pubkey?: string; privkey?: string; isOffline?: boolean; isRefundable?: boolean; }, cb?: (state: CheckStateEnum) => void) => Promise<{ send: Proof[]; keep: Proof[]; txId: string; }>; export declare const checkProofs: (proofs: Proof[], type: "pending" | "active") => Promise<{ pending: Proof[]; spent: Proof[]; unspent: Proof[]; }>; export declare const getFeeForProofs: (proofs: Proof[]) => Promise; export declare const getMinMaxFeeForAmount: (amount: number, mint: Mint, unit: string) => void; export declare const processUnclaimedTokens: (id?: string) => Promise; export declare const createCashuRequest: (amount: number, mints?: string[], unit?: string, description?: string, singleUse?: boolean) => Promise;