import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { UniswapV2PoolOnChainTemplateTokenFetcher, UniswapV2TokenDataProps } from '../../../apps/uniswap-v2/common/uniswap-v2.pool.on-chain.template.token-fetcher';
import { UniswapPair, UniswapFactory, UniswapV2ContractFactory } from '../../../apps/uniswap-v2/contracts';
import { DollarDisplayItem, PercentageDisplayItem } from '../../../position/display.interface';
import { GetDisplayPropsParams, DefaultAppTokenDefinition } from '../../../position/template/app-token.template.types';
export declare class ArbitrumRamsesPoolTokenFetcher extends UniswapV2PoolOnChainTemplateTokenFetcher<UniswapPair, UniswapFactory> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: UniswapV2ContractFactory;
    factoryAddress: string;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: UniswapV2ContractFactory);
    getPoolTokenContract(address: string): UniswapPair;
    getPoolFactoryContract(_address: string): UniswapFactory;
    getPoolsLength(contract: UniswapFactory): Promise<BigNumberish>;
    getPoolAddress(contract: UniswapFactory, index: number): Promise<string>;
    getPoolToken0(contract: UniswapPair): Promise<string>;
    getPoolToken1(contract: UniswapPair): Promise<string>;
    getPoolReserves(contract: UniswapPair): Promise<[import("ethers").BigNumber, import("ethers").BigNumber, number] & {
        _reserve0: import("ethers").BigNumber;
        _reserve1: import("ethers").BigNumber;
        _blockTimestampLast: number;
    }>;
    getTertiaryLabel({ appToken, }: GetDisplayPropsParams<UniswapPair, UniswapV2TokenDataProps, DefaultAppTokenDefinition>): Promise<string | number | PercentageDisplayItem | DollarDisplayItem | undefined>;
}
