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 { PoolTogetherV3ContractFactory, PoolTogetherV3TokenFaucet } from '../contracts';
import { PoolTogetherV3ApiPrizePoolRegistry } from './pool-together-v3.api.prize-pool-registry';
export declare abstract class PoolTogetherV3ClaimableContractPositionFetcher extends ContractPositionTemplatePositionFetcher<PoolTogetherV3TokenFaucet> {
    protected readonly appToolkit: IAppToolkit;
    private readonly contractFactory;
    private readonly poolTogetherV3ApiPrizePoolRegistry;
    constructor(appToolkit: IAppToolkit, contractFactory: PoolTogetherV3ContractFactory, poolTogetherV3ApiPrizePoolRegistry: PoolTogetherV3ApiPrizePoolRegistry);
    getContract(address: string): PoolTogetherV3TokenFaucet;
    getDefinitions(): Promise<DefaultContractPositionDefinition[]>;
    getTokenDefinitions({ contract, }: GetTokenDefinitionsParams<PoolTogetherV3TokenFaucet, DefaultContractPositionDefinition>): Promise<UnderlyingTokenDefinition[] | null>;
    getLabel({ contractPosition }: GetDisplayPropsParams<PoolTogetherV3TokenFaucet>): Promise<string>;
    getTokenBalancesPerPosition({ address, contract, }: GetTokenBalancesParams<PoolTogetherV3TokenFaucet>): Promise<BigNumberish[]>;
}
