import { IAppToolkit } from '../../app-toolkit/app-toolkit.interface';
import { Network } from '../../types/network.interface';
export declare type VotiumActiveTokenData = {
    value: string;
    label: string;
    symbol: string;
    decimals: number;
};
export declare abstract class MerkleCache<T = any> {
    private readonly appToolkit;
    protected abstract readonly appId: string;
    protected abstract readonly groupId: string;
    protected abstract readonly network: Network;
    protected abstract resolveMerkleData(): Promise<Record<string, Record<string, T>>>;
    constructor(appToolkit: IAppToolkit);
    private getKey;
    cacheMerkleData(): Promise<void>;
    getClaim(rewardTokenAddress: string, walletAddress: string): Promise<T | undefined>;
}
