import { Contract } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { DefaultDataProps } from '../../../position/display.interface';
import { CustomContractPositionTemplatePositionFetcher } from '../../../position/template/custom-contract-position.template.position-fetcher';
import { DefaultContractPositionDefinition, GetTokenDefinitionsParams, UnderlyingTokenDefinition, GetDisplayPropsParams } from '../../../position/template/contract-position.template.types';
import { HiddenHandContractFactory, HiddenHandRewardDistributor } from '../contracts';
import { HiddenHandRewardsResolver, HiddenHandRewardsDefinition } from './hidden-hand.rewards-resolver';
import { ContractPositionBalance } from '../../../position/position-balance.interface';
export declare abstract class HiddenHandRewardsContractPositionFetcher extends CustomContractPositionTemplatePositionFetcher<HiddenHandRewardDistributor, DefaultDataProps, HiddenHandRewardsDefinition> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: HiddenHandContractFactory;
    protected readonly rewardsResolver: HiddenHandRewardsResolver;
    constructor(appToolkit: IAppToolkit, contractFactory: HiddenHandContractFactory, rewardsResolver: HiddenHandRewardsResolver);
    getContract(address: string): HiddenHandRewardDistributor;
    getDefinitions(): Promise<{
        address: string;
        name: string;
        key: string;
    }[]>;
    getTokenDefinitions({ address, contract }: GetTokenDefinitionsParams<Contract, DefaultContractPositionDefinition>): Promise<UnderlyingTokenDefinition[] | null>;
    getLabel({ definition }: GetDisplayPropsParams<Contract, DefaultDataProps, HiddenHandRewardsDefinition>): Promise<string>;
    getTokenBalancesPerPosition(): never;
    getBalances(address: string): Promise<ContractPositionBalance<DefaultDataProps>[]>;
}
