import type { Address, PermissionTemplate } from "../types.js";
/**
 * Params for SharedBoundedBorrowPermission.
 *
 * Matches the on-chain `_applyConfig` decode exactly:
 *   abi.decode(params, (address[], address[], uint256, uint256, address, address, uint256))
 *     → protocols, assets, maxAmountPerTx, maxLtvBps, collateralOracle, borrowOracle, maxPriceAgeSec
 */
export type BoundedBorrowParams = {
    /** Lending-protocol contract addresses the agent may call (Aave V3 / Morpho / Compound). */
    protocols: Address[];
    /** Allowed borrow asset addresses. */
    assets: Address[];
    /** Maximum borrow amount of a single tx, in the asset's base units. */
    maxAmountPerTx: bigint;
    /** Maximum resulting LTV in basis points (e.g. 7500 = 75%). */
    maxLtvBps: number;
    /** Oracle pricing the collateral asset; `address(0)` disables the LTV check. */
    collateralOracle: Address;
    /** Oracle pricing the borrow asset; `address(0)` disables the LTV check. */
    borrowOracle: Address;
    /** Maximum oracle price age in seconds. Must be > 0 when both oracles are set. */
    maxPriceAgeSec: number;
};
export declare const boundedBorrowTemplate: PermissionTemplate<BoundedBorrowParams>;
//# sourceMappingURL=boundedBorrow.d.ts.map