import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { ContractPositionBalance } from '../../../position/position-balance.interface';
import { MetaType } from '../../../position/position.interface';
import { GetDataPropsParams, GetDisplayPropsParams, GetTokenDefinitionsParams } from '../../../position/template/contract-position.template.types';
import { CustomContractPositionTemplatePositionFetcher } from '../../../position/template/custom-contract-position.template.position-fetcher';
import { Network } from '../../../types';
import { HomoraBank, HomoraV2ContractFactory } from '../contracts';
import { HomoraV2FarmingPositionDataProps, HomoraV2FarmingPositionDefinition, Pool } from '../interfaces/interfaces';
export declare abstract class HomoraV2FarmContractPositionFetcher extends CustomContractPositionTemplatePositionFetcher<HomoraBank, HomoraV2FarmingPositionDataProps, HomoraV2FarmingPositionDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: HomoraV2ContractFactory;
    abstract homoraBankAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: HomoraV2ContractFactory);
    getContract(address: string): HomoraBank;
    getDefinitions(): Promise<HomoraV2FarmingPositionDefinition[]>;
    getTokenDefinitions({ definition }: GetTokenDefinitionsParams<HomoraBank, HomoraV2FarmingPositionDefinition>): Promise<{
        metaType: MetaType;
        address: string;
        network: Network;
    }[]>;
    getDataProps({ definition, }: GetDataPropsParams<HomoraBank, HomoraV2FarmingPositionDataProps, HomoraV2FarmingPositionDefinition>): Promise<HomoraV2FarmingPositionDataProps>;
    getLabel({ definition, }: GetDisplayPropsParams<HomoraBank, HomoraV2FarmingPositionDataProps, HomoraV2FarmingPositionDefinition>): Promise<string>;
    getNativeToken(): Promise<import("../../../position/token.interface").BaseToken | undefined>;
    getPools(): Promise<Pool[]>;
    getTradingVolumes(): Promise<Record<string, string>>;
    getTokenBalancesPerPosition(): Promise<void>;
    private getPositionsData;
    getBalances(address: string): Promise<ContractPositionBalance<HomoraV2FarmingPositionDataProps>[]>;
}
