import { Address } from '../../../../Wallet/entities/Address';
import { CurrencyWallet } from '../../CurrencyWallet';
import { NetworkParams } from './NetworkParams';
import { UtxoTransaction } from './UtxoTransaction';
import { Transports } from '../../Transports';
import { UtxoCurrencyUtils } from '../../../CurrencyUtils/abstract/UtxoCurrencyUtils/UtxoCurrencyUtils';
import { CurrencyAmount } from '../../../CurrencyUtils';
import { CurrencyInfo } from '../../../CurrencyInfo';
export declare abstract class UtxoWallet<CI extends CurrencyInfo> extends CurrencyWallet<CI> {
    utils: UtxoCurrencyUtils<CI>;
    protected readonly networkParams: NetworkParams;
    protected constructor(utils: UtxoCurrencyUtils<CI>, transports: Transports, networkParams: NetworkParams);
    abstract createTransfer(toAddress: Address, amount: CurrencyAmount<CI>): Promise<UtxoTransaction<CI>>;
    getBalance(): Promise<{
        confirmed: CurrencyAmount<CI>;
        unconfirmed: CurrencyAmount<CI>;
    }>;
    getHistory(page?: number): Promise<{
        transactions: {
            amount: CurrencyAmount<CI>;
            addressBalance: CurrencyAmount<CI>;
            txid: string;
            height: number;
        }[];
        page: number;
    }>;
}
