import { BigNumberish } from 'ethers';
import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { DefaultContractPositionDefinition, GetDisplayPropsParams, GetTokenBalancesParams, GetTokenDefinitionsParams, UnderlyingTokenDefinition } from '../../../position/template/contract-position.template.types';
import { PoolTogetherMerkleDistributor, PoolTogetherV3ContractFactory } from '../contracts';
export declare abstract class PoolTogetherV3AirdropContractPositionFetcher extends ContractPositionTemplatePositionFetcher<PoolTogetherMerkleDistributor> {
    protected readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    abstract merkleAddress: string;
    abstract airdropDataUrl: string;
    abstract airdropTokenAddress: string;
    constructor(appToolkit: IAppToolkit, contractFactory: PoolTogetherV3ContractFactory);
    private getAirdropData;
    getContract(address: string): PoolTogetherMerkleDistributor;
    getDefinitions(): Promise<DefaultContractPositionDefinition[]>;
    getTokenDefinitions(_opts: GetTokenDefinitionsParams<PoolTogetherMerkleDistributor, DefaultContractPositionDefinition>): Promise<UnderlyingTokenDefinition[] | null>;
    getLabel({ contractPosition }: GetDisplayPropsParams<PoolTogetherMerkleDistributor>): Promise<string>;
    getTokenBalancesPerPosition({ address, contract, }: GetTokenBalancesParams<PoolTogetherMerkleDistributor>): Promise<BigNumberish[]>;
}
