import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { MetaType } from '../../../position/position.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { DefaultContractPositionDefinition, GetTokenDefinitionsParams, GetDisplayPropsParams, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { ZhartaContractFactory, ZhartaLendingPoolCore } from '../contracts';
interface ZhartaLendingPoolCoreContractPositionDefinition extends DefaultContractPositionDefinition {
    type: 'LENDING_POOL_CORE';
}
export declare class EthereumZhartaLendingPoolCoreContractPositionFetcher extends ContractPositionTemplatePositionFetcher<ZhartaLendingPoolCore> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: ZhartaContractFactory;
    groupLabel: string;
    contracts: string[];
    constructor(appToolkit: IAppToolkit, contractFactory: ZhartaContractFactory);
    getContract(_address: string): ZhartaLendingPoolCore;
    getDefinitions(): Promise<ZhartaLendingPoolCoreContractPositionDefinition[]>;
    getTokenDefinitions(_params: GetTokenDefinitionsParams<ZhartaLendingPoolCore, ZhartaLendingPoolCoreContractPositionDefinition>): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    private getRegularTokenDefinitions;
    getLabel({ contractPosition }: GetDisplayPropsParams<ZhartaLendingPoolCore>): Promise<string>;
    getTokenBalancesPerPosition({ address, contractPosition, contract, multicall }: GetTokenBalancesParams<ZhartaLendingPoolCore>): Promise<import("ethers").BigNumber[]>;
}
export {};
