import { LenderUserQuery } from '../../../types/lenderTypes';
import type { PermissionParams, TokenApprovalParams, PreparedMergedRpcCalls, PreparedMergedMulticallParams, ExtraValidationCall } from './types';
/**
 * Prepares a single set of multicall RPC calls that fetches
 * token approval data, permission/delegation data, AND user balance data
 * in one round-trip.
 */
export declare function prepareMergedRpcCalls(chainId: string, balanceQueries: LenderUserQuery[], permissionParams: PermissionParams, tokenApprovalParams?: TokenApprovalParams, batchSize?: number, blockTag?: string, allowFailure?: boolean, extraCalls?: ExtraValidationCall[]): Promise<PreparedMergedRpcCalls>;
/**
 * Prepares merged token approval + permission + balance calls in the format
 * expected by `multicallRetry`: flat calls[] and per-call abis[].
 */
export declare function prepareMergedMulticallParams(chainId: string, balanceQueries: LenderUserQuery[], permissionParams: PermissionParams, tokenApprovalParams?: TokenApprovalParams, extraCalls?: ExtraValidationCall[]): Promise<PreparedMergedMulticallParams>;
//# sourceMappingURL=prepare.d.ts.map