import { ExecuteMigrationForwardDto, ExecuteMigrationGaslessDto, ExecuteMigrationNonGaslessDto, RelayedTxListResponse, BalancesResponse, DepositDto, BalancesData, IsTokenSupportedResponse, SupportedTokensResponse, SupportedChainInfo, TrxStatusResponse, DepositOnRampParams, CheckoutOnrampParams, MoonpayOnRampParams } from "./utils/CoreTypes";
export declare class AarcCore {
    apiKey: string;
    constructor(apiKey: string, isDebug?: boolean);
    /**
     * @description this function will return balances of ERC-20, ERC-721 and native tokens
     * @param balancesDto
     * @returns
     */
    fetchBalances(eoaAddress: string, chainId: number, fetchBalancesOnly?: boolean, tokenAddresses?: string[]): Promise<BalancesResponse>;
    fetchMultiChainBalances(eoaAddress: string, extendedBalances?: boolean): Promise<BalancesData>;
    isTokenSupported(chainId: number, tokenAddress: string): Promise<IsTokenSupportedResponse>;
    getSupportedTokens(chainId: number): Promise<SupportedTokensResponse>;
    getSupportedChains(): Promise<SupportedChainInfo>;
    executeMigration(executeMigrationNonGaslessDto: ExecuteMigrationNonGaslessDto): Promise<RelayedTxListResponse[]>;
    performDeposit(depositDto: DepositDto): Promise<RelayedTxListResponse[]>;
    executeMigrationForward(executeMigrationForwardDto: ExecuteMigrationForwardDto): Promise<RelayedTxListResponse[]>;
    executeMigrationGasless(executeMigrationGaslessDto: ExecuteMigrationGaslessDto): Promise<RelayedTxListResponse[]>;
    getTransactionStatus(taskId: string): Promise<TrxStatusResponse>;
    generateDepositOnrampUrl(onrampData: DepositOnRampParams): Promise<string | Error>;
    generateCheckoutOnrampUrl(onrampData: CheckoutOnrampParams): Promise<string | Error>;
    generateMoonpayOnrampUrl(onrampData: MoonpayOnRampParams): Promise<string | Error>;
}
export default AarcCore;
