import Web3 from 'web3';
import { AbiItem } from 'web3-utils';
import { Contract } from 'web3-eth-contract';
import { HashPair } from './Core';
/**
 * HTLC operations on the Ethereum Test Net.
 * Passing a value to the constructor will overwrite the specified value.
 */
export declare class BaseHTLCService {
    readonly web3: Web3;
    protected readonly contract: Contract;
    protected constructor(providerEndpoint: string, contractAddress: string, abi: AbiItem);
    /**
     * create a new hash pair
     * If you specify an existing secret or proof in the constructor, take over that value
     */
    createHashPair(): HashPair;
    /**
     * Obtain contract information for the current instance
     */
    getContractInfo(contractId: string): any;
    /**
     * Called by the sender if there was no withdraw AND the time lock has
     * expired. This will refund the contract amount.
     */
    refund(contractId: string, senderAddress: string, gasLimit?: number): any;
}
