import { ethers, Interface, InterfaceAbi } from 'ethers'; import type { Abi } from 'abitype'; import type { TypedContract } from '../../types/typed-contract'; import { IAddress, IChainId, IContractRunner, IExplorerType, IInfuraOptions } from '../../types'; export declare const determineBlockCutoff: (chain: number) => 120000 | 3456000 | 150000; export declare const determineSecondsPerBlock: (chain: number) => number; export declare const determineBlockSkipInternal: (chain: number) => 1000 | 8000 | 50000; export declare const getChainId: (provider: IContractRunner) => Promise; export declare function createContract({ provider, address, abi, }: { address: string; provider: IContractRunner; abi: TAbi; }): TypedContract | undefined; export declare const createProvider: (rpcUrl: string) => any; export declare const getInfuraProvider: (infura: IInfuraOptions) => ethers.JsonRpcProvider; export declare const explorerLink: (hex: IAddress, chain: IChainId, type: IExplorerType) => string; export declare const getDecimals: (provider: IContractRunner, address: IAddress, isVault?: boolean) => Promise; export declare const getReceiptTokenAddress: (provider: IContractRunner, address: IAddress) => Promise; export declare const getSymbol: (provider: IContractRunner, address: IAddress | undefined, isVault?: boolean) => Promise; export declare function getTokenMetadata(provider: IContractRunner, asset: IAddress, meta: ('symbol' | 'decimals' | 'name' | 'totalSupply')[]): Promise; export declare const getManagementFeePercent: (provider: IContractRunner, address: IAddress) => Promise; export declare function simulateTransaction(provider: IContractRunner, abi: string[] | any, functionName: string, options?: { args?: (string | number | bigint)[][]; from?: string; to?: string; }): Promise; export declare function checkAddress(address: string, logger?: any, type?: 'wallet' | 'contract'): boolean; type ILoanOracleFeeCategories = 'LOAN.REPAY.INTERESTS'; export declare function getLoanOracleFeeRate(provider: IContractRunner, category_id: ILoanOracleFeeCategories, address: IAddress, chainId?: number): Promise; export declare function getHistoricalContractData(provider: IContractRunner, contractAddress: IAddress, abi: Interface | InterfaceAbi, methodName: string, args: (string | number | bigint | boolean)[], startBlock: number, endBlock: number, blockInterval?: number): Promise; export declare function getHistoricalContractDataByDate(provider: IContractRunner, contractAddress: IAddress, abi: Interface | InterfaceAbi, methodName: string, args: (string | number | bigint | boolean)[], startDate: string | number, endDate: string | number, intervalHours?: number): Promise; export {};