import { Contracts } from '../lib/Contracts';
import { Token } from './Token';
import { address, ContractCallOptions, ContractConstantCallOptions, Integer, TxResult } from '../types';
export declare class PayableToken {
    private contracts;
    private token;
    private payableToken;
    constructor(contracts: Contracts, token: Token);
    get address(): string;
    wrap(ownerAddress: address, amount: Integer, options?: ContractCallOptions): Promise<TxResult>;
    unwrap(ownerAddress: address, amount: Integer, options?: ContractCallOptions): Promise<TxResult>;
    getAllowance(ownerAddress: address, spenderAddress: address, options?: ContractConstantCallOptions): Promise<Integer>;
    getBalance(ownerAddress: address, options?: ContractConstantCallOptions): Promise<Integer>;
    getTotalSupply(options?: ContractConstantCallOptions): Promise<Integer>;
    getName(options?: ContractConstantCallOptions): Promise<string>;
    getSymbol(options?: ContractConstantCallOptions): Promise<string>;
    getDecimals(options?: ContractConstantCallOptions): Promise<Integer>;
    getDolomiteMarginAllowance(ownerAddress: address, options?: ContractConstantCallOptions): Promise<Integer>;
    setAllowance(ownerAddress: address, spenderAddress: address, amount: Integer, options?: ContractCallOptions): Promise<TxResult>;
    setDolomiteMarginAllowance(ownerAddress: address, amount: Integer, options?: ContractCallOptions): Promise<TxResult>;
    setMaximumAllowance(ownerAddress: address, spenderAddress: address, options?: ContractCallOptions): Promise<TxResult>;
    setMaximumDolomiteMarginAllowance(ownerAddress: address, options?: ContractCallOptions): Promise<TxResult>;
    unsetDolomiteMarginAllowance(ownerAddress: address, options?: ContractCallOptions): Promise<TxResult>;
    transfer(fromAddress: address, toAddress: address, amount: Integer, options?: ContractCallOptions): Promise<TxResult>;
    transferFrom(fromAddress: address, toAddress: address, senderAddress: address, amount: Integer, options?: ContractCallOptions): Promise<TxResult>;
}
