import { IGetEstimateFeeInput, ILayerZeroTokenValidateParams, ISendEvmCakeTokenInput, ISendSolanaCakeTokenInput } from './types';
import { Hash } from 'viem';

export declare class LayerZero {
    private toBytes32;
    private getAdapterParams;
    private getMinDstGasLimit;
    private estimateNativeFee;
    private getSolanaPublicKeys;
    private getMinAmount;
    private createSolanaUmi;
    sendEvm({ publicClient, walletClient, toAccount, bridgeAddress, dstEndpoint, amount, }: ISendEvmCakeTokenInput): Promise<Hash>;
    sendSolana({ toAccount, connection, solanaWallet, bridgeAddress, dstEndpoint, details, amount, }: ISendSolanaCakeTokenInput): Promise<string>;
    getEstimateFee({ bridgeAddress, amount, dstEndpoint, fromAccount, toAccount, publicClient, solanaWallet, connection, details, }: IGetEstimateFeeInput): Promise<bigint | undefined>;
    validateLayerZeroToken({ fromPublicClient, toPublicClient, bridgeAddress, fromTokenAddress, fromTokenSymbol, fromTokenDecimals, toTokenAddress, toTokenSymbol, toTokenDecimals, toBridgeAddress, dstEndpoint, amount, }: ILayerZeroTokenValidateParams): Promise<boolean>;
}
