import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { ContractPositionBalance } from '../../../position/position-balance.interface';
import { MetaType } from '../../../position/position.interface';
import { GetDisplayPropsParams } from '../../../position/template/contract-position.template.types';
import { CustomContractPositionTemplatePositionFetcher } from '../../../position/template/custom-contract-position.template.position-fetcher';
import { RenApiClient } from '../common/ren.api.client';
import { RenContractFactory, RenDarknodeRegistry } from '../contracts';
export declare class EthereumRenDarknodeContractPositionFetcher extends CustomContractPositionTemplatePositionFetcher<RenDarknodeRegistry> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: RenContractFactory;
    protected readonly apiClient: RenApiClient;
    groupLabel: string;
    constructor(appToolkit: IAppToolkit, contractFactory: RenContractFactory, apiClient: RenApiClient);
    getContract(address: string): RenDarknodeRegistry;
    getDefinitions(): Promise<{
        address: string;
    }[]>;
    getTokenDefinitions(): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getLabel(params: GetDisplayPropsParams<RenDarknodeRegistry>): Promise<string>;
    getTokenBalancesPerPosition(): Promise<never[]>;
    getBalances(address: string): Promise<ContractPositionBalance<import("../../../position/display.interface").DefaultDataProps>[]>;
}
