import { IWallet } from 'src/lib/model';
import { WalletService } from 'src/lib/server';
import { IChain } from '..';
import { ClientError } from '../../errors/clienterror';
export declare class EthChain implements IChain {
    chain: string;
    constructor();
    private convertBitcoreBalance;
    getSizeSafetyMargin(): number;
    getInputSizeSafetyMargin(): number;
    notifyConfirmations(): boolean;
    supportsMultisig(): boolean;
    getWalletBalance(server: any, wallet: any, opts: any, cb: any): void;
    getWalletSendMaxInfo(server: any, wallet: any, opts: any, cb: any): void;
    getDustAmountValue(): number;
    getTransactionCount(server: any, wallet: any, from: any): Promise<unknown>;
    getChangeAddress(): void;
    checkDust(output: any, opts: any): void;
    checkScriptOutput(output: any): void;
    getFee(server: any, wallet: any, opts: any): Promise<unknown>;
    getBitcoreTx(txp: any, opts?: {
        signed: boolean;
    }): {
        uncheckedSerialize: () => any[];
        txid: () => any;
        toObject: () => any;
        getFee: () => any;
        getChangeOutput: () => any;
    };
    getDefaultGasLimit(opts: any): number;
    encodeContractParameters(contract: any, params: any, opts: any): {
        addresses: string;
        amounts: string;
        method: string;
        tokenAddress: any;
        type: string;
    };
    convertFeePerKb(p: any, feePerKb: any): any[];
    checkTx(txp: any): any;
    checkTxUTXOs(server: any, txp: any, opts: any, cb: any): any;
    selectTxInputs(server: any, txp: any, wallet: any, opts: any, cb: any): void;
    getInsufficientFeeError(txp: any): ClientError;
    getLockedFeeError(txp: any): ClientError;
    checkUtxos(opts: any): void;
    checkValidTxAmount(output: any): 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): void;
    validateAddress(wallet: any, inaddr: any, opts: any): void;
    onCoin(coin: any): any;
    onTx(tx: any): {
        txid: any;
        out: {
            address: any;
            amount: any;
            tokenAddress: any;
            multisigContractAddress: 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