import { BigNumber } from '@ethersproject/bignumber'; import { BaseProvider } from '@ethersproject/providers'; import { ChainId } from '@uniswap/sdk-core'; import { ProviderConfig } from './provider'; export declare const DEFAULT_TOKEN_FEE_RESULT: { buyFeeBps: BigNumber; sellFeeBps: BigNumber; }; type Address = string; export type TokenFeeResult = { buyFeeBps?: BigNumber; sellFeeBps?: BigNumber; feeTakenOnTransfer?: boolean; externalTransferFailed?: boolean; sellReverted?: boolean; }; export type TokenFeeMap = Record; export interface ITokenFeeFetcher { fetchFees(addresses: Address[], providerConfig?: ProviderConfig): Promise; } export declare class OnChainTokenFeeFetcher implements ITokenFeeFetcher { private tokenFeeAddress; private gasLimitPerCall; private amountToFlashBorrow; private BASE_TOKENS; private readonly contract; constructor(chainId: ChainId, rpcProvider: BaseProvider, tokenFeeAddress?: string, gasLimitPerCall?: number, amountToFlashBorrow?: string); private getBaseTokensByChain; fetchFees(addresses: Address[], providerConfig?: ProviderConfig): Promise; } export {};