import { IUITransaction, IUITransactionFormatOptions } from '@dynamic-labs/types'; import { MempoolApiService } from '../../services/MempoolApiService'; import type { FeePriority } from '../../types'; type BitcoinUiTransactionProps = { from: string; onSubmit: (transaction: { amount: bigint; recipientAddress: string; feePriority?: FeePriority; }) => Promise; mempoolApiService: MempoolApiService; }; export declare class BitcoinUiTransaction implements IUITransaction { to: string | undefined; from: string; value: bigint | undefined; chain: string; receipt: string | undefined; data: undefined; fee: { gas: bigint | undefined; }; nativePrice?: number; feePriority: FeePriority; minAmount: bigint; private lastFeePriority?; private onSubmit; private mempoolApiService; constructor({ onSubmit, from, mempoolApiService, }: BitcoinUiTransactionProps); /** * Updates the fee priority and recalculates the fee * @param priority - The new fee priority (high/medium/low) */ updateFeePriority(priority: FeePriority): Promise; /** * Fetches the estimated transaction fee */ fetchFee(): Promise; /** * Parses the input string into a bigint value in satoshis * @param input - The input string to parse * @returns The parsed value in satoshis */ parse(input: string): bigint; /** * Parses the input string into a bigint value in non-native tokens * @param input - The input string to parse * @param decimals - The number of decimals for the non-native token * @returns The parsed value in non-native tokens */ parseNonNativeToken(input: string, decimals: number): bigint; /** * Formats the value into a string for the UI for non-native tokens * @param value - The value to format * @param decimals - The number of decimals for the non-native token * @returns The formatted value */ formatNonNativeToken: (value: bigint, decimals: number) => string; /** * Formats the value into a string for the UI * @param value - The value to format * @param precision - The precision for the formatted value * @returns The formatted value */ format(value: bigint, { precision }?: IUITransactionFormatOptions): string; /** * Submits the transaction * @returns The transaction hash */ submit(): Promise; /** * Fetches the balance of the sender in satoshis * @returns The balance in satoshis */ getBalance(): Promise; /** * Validates the address format * @param address - The address to validate * @returns True if the address is valid, false otherwise */ validateAddressFormat(address: string): boolean; } export {};