import { IDebtTokenBase } from '../contract-types';
import BaseDebtTokenInterface from '../interfaces/BaseDebtToken';
import IERC20ServiceInterface from '../interfaces/ERC20';
import { Configuration, SmartBCHTransactionTypeExtended, tSmartBCHAddress, tStringCurrencyUnits, tStringDecimalUnits } from '../types';
import BaseService from './BaseService';
export default class BaseDebtToken extends BaseService<IDebtTokenBase> implements BaseDebtTokenInterface {
    readonly erc20Service: IERC20ServiceInterface;
    constructor(config: Configuration, erc20Service: IERC20ServiceInterface);
    approveDelegation(user: tSmartBCHAddress, delegatee: tSmartBCHAddress, debtTokenAddress: tSmartBCHAddress, amount: tStringDecimalUnits): SmartBCHTransactionTypeExtended;
    isDelegationApproved(debtTokenAddress: tSmartBCHAddress, allowanceGiver: tSmartBCHAddress, allowanceReceiver: tSmartBCHAddress, amount: tStringCurrencyUnits): Promise<boolean>;
}
