import { IAppToolkit } from '../../../app-toolkit/app-toolkit.interface';
import { MetaType } from '../../../position/position.interface';
import { ContractPositionTemplatePositionFetcher } from '../../../position/template/contract-position.template.position-fetcher';
import { GetDisplayPropsParams, GetTokenBalancesParams, GetTokenDefinitionsParams } from '../../../position/template/contract-position.template.types';
import { LlamaAirforceContractFactory, LlamaAirforceMerkleDistributor } from '../contracts';
import { EthereumLlamaAirforceMerkleCache } from './llama-airforce.merkle-cache';
export declare type LlamaAirforceAirdropDefinition = {
    address: string;
    rewardTokenAddress: string;
};
export declare class EthereumLlamaAirforceAirdropContractPositionFetcher extends ContractPositionTemplatePositionFetcher<LlamaAirforceMerkleDistributor> {
    protected readonly appToolkit: IAppToolkit;
    protected readonly contractFactory: LlamaAirforceContractFactory;
    private readonly merkleCache;
    groupLabel: string;
    isExcludedFromExplore: boolean;
    isExcludedFromTvl: boolean;
    constructor(appToolkit: IAppToolkit, contractFactory: LlamaAirforceContractFactory, merkleCache: EthereumLlamaAirforceMerkleCache);
    getContract(address: string): LlamaAirforceMerkleDistributor;
    getDefinitions(): Promise<LlamaAirforceAirdropDefinition[]>;
    getTokenDefinitions({ definition, }: GetTokenDefinitionsParams<LlamaAirforceMerkleDistributor, LlamaAirforceAirdropDefinition>): Promise<{
        metaType: MetaType;
        address: string;
        network: import("../../../types").Network;
    }[]>;
    getLabel({ contractPosition }: GetDisplayPropsParams<LlamaAirforceMerkleDistributor>): Promise<string>;
    getTokenBalancesPerPosition({ address, contractPosition, contract, }: GetTokenBalancesParams<LlamaAirforceMerkleDistributor>): Promise<string[] | number[]>;
}
