import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { AppTokenTemplatePositionFetcher } from '../../../position/template/app-token.template.position-fetcher';
import { DefaultAppTokenDataProps, GetAddressesParams, GetDisplayPropsParams, GetPricePerShareParams, GetUnderlyingTokensParams } from '../../../position/template/app-token.template.types';
import { RamsesDefinitionsResolver } from '../common/ramses.definitions-resolver';
import { RamsesContractFactory, RamsesPool } from '../contracts';
export declare type RamsesPoolTokenDefinition = {
    address: string;
};
export declare class ArbitrumRamsesPoolsTokenFetcher extends AppTokenTemplatePositionFetcher<RamsesPool, DefaultAppTokenDataProps, RamsesPoolTokenDefinition> {
    protected readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    protected readonly definitionsResolver: RamsesDefinitionsResolver;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: RamsesContractFactory, definitionsResolver: RamsesDefinitionsResolver);
    getContract(address: string): RamsesPool;
    getDefinitions(): Promise<RamsesPoolTokenDefinition[]>;
    getAddresses({ definitions }: GetAddressesParams): Promise<string[]>;
    getUnderlyingTokenDefinitions({ contract }: GetUnderlyingTokensParams<RamsesPool>): Promise<{
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getPricePerShare({ appToken, contract }: GetPricePerShareParams<RamsesPool, DefaultDataProps>): Promise<number[]>;
    getLabel({ appToken }: GetDisplayPropsParams<RamsesPool>): Promise<string>;
    getApy(): Promise<number>;
    getSecondaryLabel({ appToken }: GetDisplayPropsParams<RamsesPool>): Promise<string>;
    getStatsItems({ appToken }: GetDisplayPropsParams<RamsesPool>): Promise<({
        label: string;
        value: import("../../../position/display.interface").DollarDisplayItem;
    } | {
        label: string;
        value: import("../../../position/display.interface").PercentageDisplayItem;
    } | {
        label: string;
        value: string;
    })[]>;
}
