import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { ContractPositionBalance } from '../../../position/position-balance.interface';
import { MetaType, Standard } from '../../../position/position.interface';
import { 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 { GoldfinchContractFactory, GoldfinchSeniorPool } from '../contracts';
export declare type GoldfinchSeniorPoolDataProps = {
    assetStandard: Standard;
};
export declare type GoldfinchSeniorPoolDefinition = {
    address: string;
    underlyingTokenAddress: string;
};
export declare class EthereumGoldfinchSeniorPoolContractPositionFetcher extends CustomContractPositionTemplatePositionFetcher<GoldfinchSeniorPool, GoldfinchSeniorPoolDataProps, GoldfinchSeniorPoolDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: GoldfinchContractFactory;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: GoldfinchContractFactory);
    getContract(address: string): GoldfinchSeniorPool;
    getDefinitions(): Promise<{
        address: string;
        underlyingTokenAddress: string;
    }[]>;
    getTokenDefinitions({ definition, }: GetTokenDefinitionsParams<GoldfinchSeniorPool, GoldfinchSeniorPoolDefinition>): Promise<{
        metaType: MetaType;
        address: string;
        network: Network;
    }[]>;
    getDataProps(): Promise<{
        assetStandard: Standard;
    }>;
    getLabel({ contractPosition }: GetDisplayPropsParams<GoldfinchSeniorPool>): Promise<string>;
    getTokenBalancesPerPosition(): Promise<BigNumberish[]>;
    getBalances(address: string): Promise<ContractPositionBalance<GoldfinchSeniorPoolDataProps>[]>;
}
