import { WalletService } from 'src/lib/server';
import { IChain } from '..';
import { ClientError } from '../../errors/clienterror';
import { IWallet } from '../../model';
export declare class BtcChain implements IChain {
    private bitcoreLib;
    protected sizeEstimationMargin: number;
    protected inputSizeEstimationMargin: number;
    constructor(bitcoreLib?: any);
    getSizeSafetyMargin(opts?: any): number;
    getInputSizeSafetyMargin(opts?: any): number;
    getWalletBalance(server: WalletService, wallet: any, opts: any, cb: any): void;
    getWalletSendMaxInfo(server: WalletService, wallet: any, opts: any, cb: any): void;
    getDustAmountValue(): any;
    getTransactionCount(): any;
    getChangeAddress(server: WalletService, wallet: any, opts: any): Promise<unknown>;
    checkDust(output: any): ClientError;
    checkScriptOutput(output: any): ClientError;
    getEstimatedSizeForSingleInput(txp: any, opts?: {
        conservativeEstimation: boolean;
    }): number;
    getEstimatedSizeForSingleOutput(address?: string): any;
    getEstimatedSizeForAddressType(addressType?: string): any;
    getEstimatedSize(txp: any, opts: any): number;
    getEstimatedFee(txp: any, opts: any): number;
    getFee(server: WalletService, wallet: any, opts: any): Promise<unknown>;
    getBitcoreTx(txp: any, opts?: {
        signed: boolean;
    }): any;
    convertFeePerKb(p: any, feePerKb: any): any[];
    checkTx(txp: any): any;
    checkTxUTXOs(server: WalletService, txp: any, opts: any, cb: any): any;
    totalizeUtxos(utxos: any): {
        totalAmount: number;
        lockedAmount: number;
        totalConfirmedAmount: number;
        lockedConfirmedAmount: number;
        availableAmount: any;
        availableConfirmedAmount: any;
    };
    selectTxInputs(server: WalletService, txp: any, wallet: any, opts: any, cb: any): any;
    checkUtxos(opts: any): boolean;
    checkValidTxAmount(output: any): boolean;
    supportsMultisig(): boolean;
    notifyConfirmations(network: string): boolean;
    isUTXOChain(): boolean;
    isSingleAddress(): boolean;
    addressFromStorageTransform(network: any, address: any): void;
    addressToStorageTransform(network: any, address: any): void;
    addSignaturesToBitcoreTx(tx: any, inputs: any, inputPaths: any, signatures: any, xpub: any, signingMethod: any): void;
    validateAddress(wallet: any, inaddr: any, opts: any): void;
    protected _isCorrectNetwork(wallet: any, addr: any): boolean;
    onCoin(coin: any): {
        out: {
            address: any;
            amount: any;
        };
        txid: any;
    };
    onTx(tx: any): any;
    getReserve(server: WalletService, wallet: IWallet, cb: (err?: any, reserve?: number) => void): void;
    refreshTxData(_server: WalletService, txp: any, _opts: any, cb: any): any;
}
//# sourceMappingURL=index.d.ts.map