import { IMayanQuotaInput, IMayanTokenValidateParams } from './types';
import { Quote } from '@mayanfinance/swap-sdk';
import { PublicClient, WalletClient } from 'viem';
import { IBaseBridgeConfig } from '../../core';
import { Connection } from '@solana/web3.js';
import { WalletContextState } from '@solana/wallet-adapter-react';

export declare class Mayan {
    private readonly endpoint;
    private referrer;
    constructor(config: IBaseBridgeConfig);
    getEstimatedFees({ extra, ...options }: IMayanQuotaInput): Promise<Quote[]>;
    validateMayanToken(params: IMayanTokenValidateParams): Promise<boolean>;
    swapSolana(quote: Quote, connection: Connection, solanaWallet: WalletContextState, destAddr: string): Promise<string>;
    swapEVM(quote: Quote, walletClient: WalletClient, publicClient: PublicClient, walletSrcAddr: `0x${string}`, destAddr: string, fromChainId: number): Promise<`0x${string}`>;
}
