import { Network } from '../../../node_modules/@btc-vision/bitcoin/build/index.js';
import { Address, ChallengeSolution, IP2WSHAddress } from '../../../node_modules/@btc-vision/transaction/build/index.js';
import { UTXO, UTXOs } from '../../bitcoin/UTXOs.js';
import { BroadcastedTransaction } from '../../transactions/interfaces/BroadcastedTransaction.js';
import { BroadcastedTransactionPackage } from '../../transactions/interfaces/BroadcastedTransactionPackage.js';
import { RequestUTXOsParamsWithAmount } from '../../utxos/interfaces/IUTXOsManager.js';
export interface IUTXOManagerForCallResult {
    getUTXOsForAmount(params: RequestUTXOsParamsWithAmount): Promise<UTXO[]>;
    spentUTXO(address: string, spent: UTXOs, newUTXOs: UTXOs): void;
    clean(): void;
}
export interface IProviderForCallResult {
    readonly network: Network;
    readonly utxoManager: IUTXOManagerForCallResult;
    getChallenge(): Promise<ChallengeSolution>;
    sendRawTransaction(tx: string, psbt: boolean): Promise<BroadcastedTransaction>;
    sendRawTransactionPackage(txs: string[], isPackage?: boolean): Promise<BroadcastedTransactionPackage>;
    getCSV1ForAddress(address: Address): IP2WSHAddress;
}
