import { IGetMesonEstimateFeeInput, IMesonEncodeSwapInput, IMesonSendTokenInput } from './types';
import { IBaseBridgeConfig } from '../../core';
import { IMesonTokenValidateParams } from './types/index';

export declare class Meson {
    private client?;
    constructor(config: IBaseBridgeConfig);
    getEstimatedFees({ fromToken, toToken, amount, fromAddr, }: IGetMesonEstimateFeeInput): Promise<any>;
    sendToken({ fromAddress, recipient, signature, encodedData, }: IMesonSendTokenInput): Promise<any>;
    getUnsignedMessage({ fromToken, toToken, amount, fromAddress, recipient, }: IMesonEncodeSwapInput): Promise<any>;
    validateMesonToken: ({ fromChainId, fromChainType, fromTokenSymbol, fromTokenAddress, fromTokenDecimals, toTokenAddress, toChainId, toChainType, toTokenSymbol, toTokenDecimals, amount, mesonEndpoint, }: IMesonTokenValidateParams) => Promise<boolean>;
}
