import { AbstractJSONRPCTransport } from './transport'; import { BigNumber, ethers } from 'ethers'; import { AccountState, Address, IncomingTxFeeType, ContractAddress, Fee, Network, PriorityOperationReceipt, TokenAddress, TokenLike, Tokens, TransactionReceipt, TxEthSignature, TxEthSignatureVariant, NFTInfo, Toggle2FARequest } from './types'; import { Governance, ZkSync, ZkSyncNFTFactory } from './typechain'; import { SyncProvider } from './provider-interface'; export declare function getDefaultProvider(network: Network, transport?: 'WS' | 'HTTP', pollIntervalMilliSecs?: number): Promise; export declare class Provider extends SyncProvider { transport: AbstractJSONRPCTransport; private constructor(); /** * @deprecated Websocket support will be removed in future. Use HTTP transport instead. */ static newWebsocketProvider(address: string, network?: Network): Promise; static newHttpProvider(address?: string, pollIntervalMilliSecs?: number, network?: Network): Promise; /** * Provides some hardcoded values the `Provider` responsible for * without communicating with the network */ static newMockProvider(network: Network, ethPrivateKey: Uint8Array, getTokens: Function): Promise; submitTx(tx: any, signature?: TxEthSignatureVariant, fastProcessing?: boolean): Promise; submitTxsBatch(transactions: { tx: any; signature?: TxEthSignatureVariant; }[], ethSignatures?: TxEthSignature | TxEthSignature[]): Promise; getContractAddress(): Promise; getTokens(): Promise; getState(address: Address): Promise; getTxReceipt(txHash: string): Promise; getPriorityOpStatus(serialId: number): Promise; getConfirmationsForEthOpAmount(): Promise; getEthTxForWithdrawal(withdrawal_hash: string): Promise; getNFT(id: number): Promise; getNFTOwner(id: number): Promise; notifyPriorityOp(serialId: number, action: 'COMMIT' | 'VERIFY'): Promise; notifyTransaction(hash: string, action: 'COMMIT' | 'VERIFY'): Promise; getTransactionFee(txType: IncomingTxFeeType, address: Address, tokenLike: TokenLike): Promise; getTransactionsBatchFee(txTypes: IncomingTxFeeType[], addresses: Address[], tokenLike: TokenLike): Promise; getTokenPrice(tokenLike: TokenLike): Promise; toggle2FA(toggle2FA: Toggle2FARequest): Promise; getNFTIdByTxHash(txHash: string): Promise; disconnect(): Promise; } export declare class ETHProxy { private ethersProvider; contractAddress: ContractAddress; private governanceContract; private zkSyncContract; private zksyncNFTFactory; private dummySigner; constructor(ethersProvider: ethers.providers.Provider, contractAddress: ContractAddress); getGovernanceContract(): Governance; getZkSyncContract(): ZkSync; getCachedNFTDefaultFactory(): ZkSyncNFTFactory | undefined; getDefaultNFTFactory(): Promise; resolveTokenId(token: TokenAddress): Promise; }