import { MerklOpportunity, RewardFetcher } from './types';
export interface MerklRewardConfig {
    /** Protocol ID in Merkl's system (e.g. "aave", "morpho", "compound") */
    merklProtocolId: string;
    /** Default lender key in our system (e.g. "AAVE_V3") */
    lenderKey: string;
    /** Chain IDs to fetch rewards for */
    chainIds: string[];
    /**
     * Optional resolver: given an opportunity return the underlying asset
     * address and optionally override the lender key.
     * Defaults to resolveUnderlyingFromOpportunity().
     */
    resolveAsset?: (opp: MerklOpportunity) => {
        asset: string;
        lender?: string;
    } | undefined;
}
/** Create a RewardFetcher that pulls data from the Merkl API for a given protocol */
export declare function createMerklRewardFetcher(config: MerklRewardConfig): RewardFetcher;
export declare const aaveMerklRewardFetcher: RewardFetcher;
//# sourceMappingURL=merkl.d.ts.map