import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { Erc20 } from '../../../contract/contracts';
import { DefaultAppTokenDataProps, GetTokenPropsParams } from '../../../position/template/app-token.template.types';
import { PoolTogetherV3ContractFactory } from '../contracts';
import { PoolTogetherV3ApiPrizePoolRegistry } from './pool-together-v3.api.prize-pool-registry';
import { PoolTogetherV3PrizePoolDefinition, PoolTogetherV3PrizePoolTokenFetcher } from './pool-together-v3.prize-pool.token-fetcher';
export declare abstract class PoolTogetherV3SponsorshipTokenFetcher extends PoolTogetherV3PrizePoolTokenFetcher<Erc20> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: PoolTogetherV3ContractFactory;
    protected readonly poolTogetherV3ApiPrizePoolRegistry: PoolTogetherV3ApiPrizePoolRegistry;
    constructor(appToolkit: IAppToolkit, contractFactory: PoolTogetherV3ContractFactory, poolTogetherV3ApiPrizePoolRegistry: PoolTogetherV3ApiPrizePoolRegistry);
    getContract(address: string): Erc20;
    getDefinitions(): Promise<PoolTogetherV3PrizePoolDefinition[]>;
    getSupply({ contract, definition, }: GetTokenPropsParams<Erc20, DefaultAppTokenDataProps, PoolTogetherV3PrizePoolDefinition>): Promise<number>;
}
