import { BroadcastTransactionRequest, BroadcastTransactionResponse, ClaimWithdrawalTransactionResponse, ConstructorParams, ContractWithdrawal, FeeResponse, FetchTransactionsRequest, FetchTransactionsResponse, FetchWithdrawalsRequest, FetchWithdrawalsResponse, INTMAXClient, LoginResponse, PaginatedResponse, PrepareDepositTransactionRequest, PrepareDepositTransactionResponse, PrepareEstimateDepositTransactionRequest, SignMessageResponse, Token, TokenBalance, TokenBalancesResponse, WaitForTransactionConfirmationRequest, WaitForTransactionConfirmationResponse, WithdrawalResponse, WithdrawRequest } from '../shared'; declare global { interface Window { ethereum?: any; } } export declare class IntMaxClient implements INTMAXClient { #private; isLoggedIn: boolean; address: string; tokenBalances: TokenBalance[]; constructor({ async_params, environment, urls, loggerLevel }: ConstructorParams); static init({ environment, urls, loggerLevel }: ConstructorParams): Promise; login(): Promise; getPrivateKey(): Promise; fetchTokenBalances(): Promise; broadcastTransaction(rawTransfers: BroadcastTransactionRequest[], isWithdrawal?: boolean): Promise; fetchTransactions({ cursor, limit }?: FetchTransactionsRequest): Promise; fetchTransfers({ cursor, limit }?: FetchTransactionsRequest): Promise; fetchDeposits({ cursor, limit }?: FetchTransactionsRequest): Promise; withdraw({ amount, address, token, claim_beneficiary }: WithdrawRequest): Promise; logout(): Promise; estimateDepositGas(params: PrepareEstimateDepositTransactionRequest): Promise; deposit({ skipConfirmation, ...params }: PrepareDepositTransactionRequest): Promise; fetchWithdrawals({ cursor, limit }?: FetchWithdrawalsRequest): Promise; claimWithdrawal(needClaimWithdrawals: ContractWithdrawal[]): Promise; waitForTransactionConfirmation({ txTreeRoot, pollInterval, }: WaitForTransactionConfirmationRequest): Promise; signMessage(message: string): Promise; verifySignature(signature: SignMessageResponse, message: string | Uint8Array): Promise; getTokensList(): Promise; getPaginatedTokens(params: { tokenIndexes?: number[]; perPage?: number; cursor?: string; }): Promise>; getTransferFee(): Promise; getWithdrawalFee(token: Token): Promise; getClaimFee(): Promise; sync(): Promise; updatePublicClientRpc(url: string): void; }