import type { Client } from "viem"; import { type Address } from "viem"; import { type MorphoAuthorizationAction, type Transaction } from "../../types"; /** * Checks whether GeneralAdapter1 is authorized on Morpho for the given user. * If not authorized, returns a deep-frozen `morpho.setAuthorization(generalAdapter1, true)` transaction. * Returns `null` if authorization is already in place. * * Required before any bundled borrow on behalf of the user (e.g. `supplyCollateralBorrow`). * * @param params - Request parameters. * @param params.viemClient - Connected viem client. * @param params.chainId - Target chain ID (used to look up Morpho and GeneralAdapter1 addresses). * @param params.userAddress - The user who needs to authorize GeneralAdapter1. * @returns Deep-frozen authorization transaction, or `null` if already authorized. */ export declare const getMorphoAuthorizationRequirement: (params: { viemClient: Client; chainId: number; userAddress: Address; }) => Promise> | null>;