import type { MeltQuoteResponse, MintQuoteResponse, Proof as CashuProof, MintQuoteState, MeltQuoteState, PaymentRequestTransport, GetInfoResponse, MintActiveKeys, MintAllKeysets } from '@cashu/cashu-ts'; import type { Event } from 'nostr-tools'; export declare enum EXPIRED { EXPIRED = "EXPIRED" } export type StoredSwap = { mintQuoteId: string; meltQuoteId: string; }; export type StoredMintQuote = Omit & { state: MintQuoteState | EXPIRED; mintUrl: string; unit: string; amount: number; createdAt: number; lastChangedAt: number; type: 'mint'; out?: Proof[]; counts?: { keysetId: string; counts: number[]; }; }; export type StoredMeltQuote = Omit & { state: MeltQuoteState | EXPIRED; mintUrl: string; unit: string; createdAt: number; lastChangedAt: number; type: 'melt'; in?: Proof[]; out?: Proof[]; request: string; fees?: number; counts?: { keysetId: string; counts: number[]; }; }; export type MultiMeltQuote = { id: string; type: "multi-melt"; quoteIds: string[]; createdAt: number; lastChangedAt: number; invoice: string; }; export type StoredTransaction = { id: string; type: TransactionType; in: Proof[]; out: Proof[]; change?: Proof[]; mintUrl: string; state: TransactionStatus; createdAt: number; lastChangedAt: number; amount: number; unit?: string; counts?: { keysetId: string; counts: number[]; }; address?: string; fees?: number; memo?: string; }; export type SimplePaymentRequest = { transport: Array; id?: string; amount?: number; unit?: string; mints?: Array; description?: string; singleUse?: boolean; }; export type StoredPaymentRequest = SimplePaymentRequest & { createdAt: number; lastChangedAt: number; }; export declare enum TransactionType { SEND = "send", RECEIVE = "receive", OFFLINE = "offline" } export declare enum TransactionStatus { PENDING = "pending", COMPLETED = "completed" } export type Contact = { npub: string; alias: string; picture?: string; }; export type KeysetCount = { keysetId: string; count: number; }; export type Proof = CashuProof; export type StoredSeed = { mnemonic: string; }; export type Relay = { url: string; isOn: boolean; hasConnection?: boolean; }; export type NWCConnection = { counter: number; isActive: boolean; walletPublicKey: string; walletPrivateKey: string; connectionSecret: string; connectionPublicKey: string; allowanceLeft: number; }; export type EncryptedStore = { cypher: Uint8Array; iv: string; t: number; }; export type Message = Event & { wrapId: string; isRead?: boolean; isToken?: boolean; isReceived?: boolean; }; export type Mint = { url: string; keys: MintActiveKeys; keysets: MintAllKeysets; info: GetInfoResponse; }; export type NostrRelay = { url: string; isActive: boolean; }; export type Settings = { id: string; mints: {}; currency: { prefferedUnit: string; useConversion: boolean; conversionUnit: string; }; keys: {}; nostr: {}; tokens: { autoReceive: boolean; }; contact: {}; general: { hideBalance: boolean; useWS: boolean; subscribeTokenState: boolean; useMultinut: boolean; }; }; export type KeyPair = { counter: number; publicKey: string; privateKey: string; }; export declare enum TokenCheckMode { SIMPLE = 0, MANUAL = 1, PENDING_ONLY = 2, AUTO = 3 } export type ContactSettings = {};