export interface IDogeProvider { getTransaction(txHash: string): Promise; getUTXOs(address: string, amount?: number): Promise; isValidAddress(address: string): Promise; getNetwork(): DogeNetwork; broadcast(txHex: string): Promise; suggestFee(address: string, amount: number): Promise; getBalance(address: string): Promise; } export declare enum DogeNetwork { Mainnet = "mainnet", Testnet = "testnet" } export declare class DogeProvider implements IDogeProvider { private network; private networkSuffix; constructor(network: DogeNetwork); getTransaction(txHash: string): Promise; getUTXOs(address: string, amount?: number): Promise; getFeeRate(): Promise; suggestFee(address: string, amount: number): Promise; isValidAddress(address: string): Promise; getBalance(address: string): Promise; getNetwork(): DogeNetwork; private _getUTXOs; broadcast(txHex: string): Promise; private getHeaders; } export type SoChainResultSuccess = { status: 'success'; data: T; }; export type SoChainResultFail = { status: 'fail'; data: { error_message: string; }; }; export type SoChainResult = SoChainResultSuccess | SoChainResultFail; export type DogeUTXO = { hash: string; index: number; script: string; address: string; value: string; block: number; tx_hex: string; }; export type DogeInputTx = { index: number; value: string; address: string; scriptSig: { hex?: string; asm?: string; }; witness?: string[]; previous_output: { hash: string; index: number; }; }; export type DogeOutputTx = { index: number; value: string; type: string; address: string; script: { hex: string; asm: string; }; spent?: { hash: string; index: number; }; }; export type DogeTx = { hash: string; confirmations: number; size: number; vsize: number; weight?: number; version: number; locktime: number; block_hash: string; block_height: number; time: number; inputs_n: number; inputs_value: string; inputs: DogeInputTx[]; outputs_n: number; outputs_value: string; outputs: DogeOutputTx[]; fee: string; price: { value: string; currency: string; }; };