import { Web3Provider } from '@ethersproject/providers'; import * as TE from 'fp-ts/TaskEither'; import { EthNetworkConfiguration } from 'magic-sdk'; import { Observable } from 'rxjs'; import { BalanceInfo, ProviderPreference } from '../types'; interface GetReadOnlyProviderInput { rpcUrl: string; interval?: number; } interface GetERC20BalanceV2Input extends GetReadOnlyProviderInput { owner: string; tokenAddress: string; } interface GetBalanceV2Input extends GetReadOnlyProviderInput { address: string; } export interface MagicProviderOptions { network: EthNetworkConfiguration; publishableKey: string; } export interface GameWalletProviderOptions { gameTitle: string; gameIconUrl: string; publishableKey: string; providerPreference: ProviderPreference; network: EthNetworkConfiguration; } export declare class UnexpectedProviderError extends Error { constructor(message: any); } declare type GetProviderOptionInput = { magicProviderOptions?: MagicProviderOptions; gameWalletProviderOptions?: GameWalletProviderOptions[]; }; export declare const getProvider: (options?: GetProviderOptionInput) => TE.TaskEither; export declare const ethBalance: (address: string, interval?: number, providerOptions?: GetProviderOptionInput) => Observable; export declare const erc20Balance: (owner: string, tokenAddress: string, interval?: number, providerOptions?: GetProviderOptionInput) => Observable; export declare const ethBalanceV2: ({ address, rpcUrl }: GetBalanceV2Input) => Observable; export declare const erc20BalanceV2: ({ owner, tokenAddress, rpcUrl, }: GetERC20BalanceV2Input) => Observable; export {};