import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { GetDefinitionsParams, DefaultContractPositionDefinition, GetTokenDefinitionsParams, UnderlyingTokenDefinition, GetDisplayPropsParams, GetTokenBalancesParams } from '../../../position/template/contract-position.template.types';
import { CreditManagerV2, GearboxContractFactory } from '../contracts';
export declare type GearboxCreditAccountsDefinition = {
    address: string;
    underlyingTokenAddress: string;
    collateralTokenAddresses: string[];
};
export declare class EthereumGearboxCreditAccountsContractPositionFetcher extends ContractPositionTemplatePositionFetcher<CreditManagerV2, DefaultDataProps, GearboxCreditAccountsDefinition> {
    readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: GearboxContractFactory);
    getContract(address: string): CreditManagerV2;
    getDefinitions({ multicall }: GetDefinitionsParams): Promise<GearboxCreditAccountsDefinition[]>;
    getTokenDefinitions({ definition, }: GetTokenDefinitionsParams<CreditManagerV2, GearboxCreditAccountsDefinition>): Promise<UnderlyingTokenDefinition[]>;
    getLabel(params: GetDisplayPropsParams<CreditManagerV2, DefaultDataProps, DefaultContractPositionDefinition>): Promise<string>;
    getTokenBalancesPerPosition({ address, contractPosition, contract, multicall, }: GetTokenBalancesParams<CreditManagerV2, DefaultDataProps>): Promise<BigNumberish[]>;
}
