import { Network } from '../../node_modules/@btc-vision/bitcoin/browser/index.js';
import { Wallet } from '../keypair/Wallet.js';
import { BroadcastResponse } from './interfaces/BroadcastResponse.js';
import { FetchUTXOParams, FetchUTXOParamsMultiAddress, RawUTXOResponse, UTXO } from './interfaces/IUTXO.js';
export interface WalletUTXOs {
    readonly confirmed: RawUTXOResponse[];
    readonly pending: RawUTXOResponse[];
    readonly spentTransactions: RawUTXOResponse[];
    readonly raw: string[];
}
/**
 * Allows to fetch UTXO data from any OPNET node
 */
export declare class OPNetLimitedProvider {
    private readonly opnetAPIUrl;
    private readonly utxoPath;
    private readonly rpc;
    constructor(opnetAPIUrl: string);
    /**
     * Fetches UTXO data from the OPNET node
     * @param {FetchUTXOParams} settings - The settings to fetch UTXO data
     * @returns {Promise<UTXO[]>} - The UTXOs fetched
     * @throws {Error} - If UTXOs could not be fetched
     */
    fetchUTXO(settings: FetchUTXOParams): Promise<UTXO[]>;
    /**
     * Fetches UTXO data from the OPNET node for multiple addresses
     * @param {FetchUTXOParamsMultiAddress} settings - The settings to fetch UTXO data
     * @returns {Promise<UTXO[]>} - The UTXOs fetched
     * @throws {Error} - If UTXOs could not be fetched
     */
    fetchUTXOMultiAddr(settings: FetchUTXOParamsMultiAddress): Promise<UTXO[]>;
    /**
     * Broadcasts a transaction to the OPNET node
     * @param {string} transaction - The transaction to broadcast
     * @param {boolean} psbt - Whether the transaction is a PSBT
     * @returns {Promise<BroadcastResponse>} - The response from the OPNET node
     */
    broadcastTransaction(transaction: string, psbt: boolean): Promise<BroadcastResponse | undefined>;
    /**
     * Splits UTXOs into smaller UTXOs
     * @param {Wallet} wallet - The wallet to split UTXOs
     * @param {Network} network - The network to split UTXOs
     * @param {number} splitInputsInto - The number of UTXOs to split into
     * @param {bigint} amountPerUTXO - The amount per UTXO
     * @returns {Promise<BroadcastResponse | { error: string }>} - The response from the OPNET node or an error
     */
    splitUTXOs(wallet: Wallet, network: Network, splitInputsInto: number, amountPerUTXO: bigint): Promise<BroadcastResponse | {
        error: string;
    }>;
    /**
     * Fetches to the OPNET node
     * @param {string} method
     * @param {unknown[]} paramsMethod
     * @returns {Promise<unknown>}
     */
    rpcMethod(method: string, paramsMethod: unknown[]): Promise<unknown>;
}
//# sourceMappingURL=OPNetLimitedProvider.d.ts.map