import type { InvoiceData, Transfer, Unspent, AssetMetadata, AssetCfa, AssetIfa, AssetNia } from './Interfaces'; export interface Spec { generateKeys(bitcoinNetwork: 'MAINNET' | 'TESTNET' | 'TESTNET4' | 'REGTEST' | 'SIGNET'): Promise<{ mnemonic: string; xpub: string; accountXpubVanilla: string; accountXpubColored: string; masterFingerprint: string; }>; restoreKeys(bitcoinNetwork: 'MAINNET' | 'TESTNET' | 'TESTNET4' | 'REGTEST' | 'SIGNET', mnemonic: string): Promise<{ mnemonic: string; xpub: string; accountXpubVanilla: string; accountXpubColored: string; masterFingerprint: string; }>; restoreBackup(path: string, password: string): Promise; initializeWallet(dataDir: string | null, network: string, accountXpubVanilla: string, accountXpubColored: string, mnemonic: string | null, masterFingerprint: string, supportedSchemas: string[], maxAllocationsPerUtxo: number, vanillaKeychain: number): Promise; goOnline(walletId: number, skipConsistencyCheck: boolean, indexerUrl: string): Promise; createOnline(walletId: number, skipConsistencyCheck: boolean, indexerUrl: string): Promise; setOnline(walletId: number, online: any): Promise; dropOnline(walletId: number, online?: any): Promise; getBtcBalance(walletId: number, skipSync: boolean): Promise<{ vanilla: { settled: number; future: number; spendable: number; }; colored: { settled: number; future: number; spendable: number; }; }>; walletClose(walletId: number): Promise; backup(walletId: number, backupPath: string, password: string): Promise; backupInfo(walletId: number): Promise; blindReceive(walletId: number, assetId: string | null, assignment: { type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY'; amount?: number; }, durationSeconds: number | null, transportEndpoints: string[], minConfirmations: number): Promise<{ invoice: string; recipientId: string; expirationTimestamp: number | null; batchTransferIdx: number; }>; createUtxos(walletId: number, upTo: boolean, num: number | null, size: number | null, feeRate: number, skipSync: boolean): Promise; createUtxosBegin(walletId: number, upTo: boolean, num: number | null, size: number | null, feeRate: number, skipSync: boolean): Promise; createUtxosEnd(walletId: number, signedPsbt: string, skipSync: boolean): Promise; deleteTransfers(walletId: number, batchTransferIdx: number | null, noAssetOnly: boolean): Promise; drainTo(walletId: number, address: string, destroyAssets: boolean, feeRate: number): Promise; drainToBegin(walletId: number, address: string, destroyAssets: boolean, feeRate: number): Promise; drainToEnd(walletId: number, signedPsbt: string): Promise; failTransfers(walletId: number, batchTransferIdx: number | null, noAssetOnly: boolean, skipSync: boolean): Promise; finalizePsbt(walletId: number, signedPsbt: string): Promise; getAddress(walletId: number): Promise; getAssetBalance(walletId: number, assetId: string): Promise<{ settled: number; future: number; spendable: number; }>; getAssetMetadata(walletId: number, assetId: string): Promise; getFeeEstimation(walletId: number, blocks: number): Promise; getMediaDir(walletId: number): Promise; getWalletData(walletId: number): Promise<{ dataDir: string; bitcoinNetwork: string; databaseType: string; maxAllocationsPerUtxo: number; accountXpubVanilla: string; accountXpubColored: string; mnemonic?: string; masterFingerprint: string; vanillaKeychain?: number; supportedSchemas: string[]; }>; getWalletDir(walletId: number): Promise; inflate(walletId: number, assetId: string, inflationAmounts: number[], feeRate: number, minConfirmations: number): Promise<{ txid: string; batchTransferIdx: number; }>; inflateBegin(walletId: number, assetId: string, inflationAmounts: number[], feeRate: number, minConfirmations: number): Promise; inflateEnd(walletId: number, signedPsbt: string): Promise<{ txid: string; batchTransferIdx: number; }>; issueAssetCfa(walletId: number, name: string, details: string | null, precision: number, amounts: number[], filePath: string | null): Promise; issueAssetIfa(walletId: number, ticker: string, name: string, precision: number, amounts: number[], inflationAmounts: number[], replaceRightsNum: number, rejectListUrl: string | null): Promise; issueAssetNia(walletId: number, ticker: string, name: string, precision: number, amounts: number[]): Promise; issueAssetUda(walletId: number, ticker: string, name: string, details: string | null, precision: number, mediaFilePath: string | null, attachmentsFilePaths: string[]): Promise<{ assetId: string; ticker: string; name: string; details?: string; precision: number; timestamp: number; addedAt: number; balance: { settled: number; future: number; spendable: number; }; media?: { filePath: string; mime: string; }; attachments: Array<{ filePath: string; mime: string; }>; }>; listAssets(walletId: number, filterAssetSchemas: string[]): Promise<{ nia: Array<{ assetId: string; ticker: string; name: string; details?: string; precision: number; issuedSupply: number; timestamp: number; addedAt: number; balance: { settled: number; future: number; spendable: number; }; media?: { filePath: string; mime: string; digest: string; }; }>; uda: Array<{ assetId: string; ticker: string; name: string; details?: string; precision: number; timestamp: number; addedAt: number; balance: { settled: number; future: number; spendable: number; }; token?: { index: number; ticker?: string; name?: string; details?: string; embeddedMedia: boolean; media?: { filePath: string; mime: string; digest: string; }; attachments: Array<{ key: number; filePath: string; mime: string; digest: string; }>; reserves: boolean; }; }>; cfa: Array<{ assetId: string; name: string; details?: string; precision: number; issuedSupply: number; timestamp: number; addedAt: number; balance: { settled: number; future: number; spendable: number; }; media?: { filePath: string; mime: string; digest: string; }; }>; ifa: Array<{ assetId: string; ticker: string; name: string; details?: string; precision: number; initialSupply: number; maxSupply: number; knownCirculatingSupply: number; timestamp: number; addedAt: number; balance: { settled: number; future: number; spendable: number; }; media?: { filePath: string; mime: string; digest: string; }; rejectListUrl?: string; }>; }>; listTransactions(walletId: number, skipSync: boolean): Promise>; listTransfers(walletId: number, assetId: string | null): Promise; listUnspents(walletId: number, settledOnly: boolean, skipSync: boolean): Promise; refresh(walletId: number, assetId: string | null, filter: Array<{ status: 'WAITING_COUNTERPARTY' | 'WAITING_CONFIRMATIONS'; incoming: boolean; }>, skipSync: boolean): Promise<{ [key: string]: { updatedStatus?: 'WAITING_COUNTERPARTY' | 'WAITING_CONFIRMATIONS' | 'SETTLED' | 'FAILED'; failure?: string; }; }>; send(walletId: number, recipientMap: { [key: string]: Array<{ recipientId: string; witnessData?: { amountSat: number; blinding?: number; }; assignment: { type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY'; amount?: number; }; transportEndpoints: string[]; }>; }, donation: boolean, feeRate: number, minConfirmations: number, skipSync: boolean): Promise<{ txid: string; batchTransferIdx: number; }>; sendBegin(walletId: number, recipientMap: { [key: string]: Array<{ recipientId: string; witnessData?: { amountSat: number; blinding?: number; }; assignment: { type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY'; amount?: number; }; transportEndpoints: string[]; }>; }, donation: boolean, feeRate: number, minConfirmations: number, externalInputs: Array<{ txid: string; vout: number; value: number; scriptPubkey: string; }> | null, externalOutputs: Array<{ address: string; value: number; }> | null): Promise; sendBtc(walletId: number, address: string, amount: number, feeRate: number, skipSync: boolean): Promise; sendBtcBegin(walletId: number, address: string, amount: number, feeRate: number, skipSync: boolean): Promise; sendBtcEnd(walletId: number, signedPsbt: string, skipSync: boolean): Promise; sendEnd(walletId: number, signedPsbt: string, skipSync: boolean): Promise<{ txid: string; batchTransferIdx: number; }>; signPsbt(walletId: number, unsignedPsbt: string): Promise; sync(walletId: number): Promise; witnessReceive(walletId: number, assetId: string | null, assignment: { type: 'FUNGIBLE' | 'NON_FUNGIBLE' | 'INFLATION_RIGHT' | 'REPLACE_RIGHT' | 'ANY'; amount?: number; }, durationSeconds: number | null, transportEndpoints: string[], minConfirmations: number): Promise<{ invoice: string; recipientId: string; expirationTimestamp: number | null; batchTransferIdx: number; }>; verifyConsignmentAmount(walletId: number, consignmentPath: string, recipientId: string, expectedAmount: string): Promise; decodeInvoice(invoice: string): Promise; } declare const RgbNative: Spec; export default RgbNative; //# sourceMappingURL=NativeRgb.d.ts.map