import type { Address, PermissionTemplate } from "../types.js";
/**
 * Params for SharedPendlePermission.
 *
 * Matches the on-chain `_applyConfig` decode exactly:
 *   abi.decode(params, (address, address[], uint128, bool, bool, bool, bool, bool))
 *     → pendleRouter, allowedMarkets, maxAmountPerTx,
 *       allowLiquidityOps, allowPtSwaps, allowYtSwaps, allowMintRedeem, allowClaimYield
 */
export type PendleParams = {
    /** Pendle Router V4 address the agent may call. Must be non-zero. */
    pendleRouter: Address;
    /** Pendle market (and YT, for mint/redeem) addresses the agent may interact with. */
    allowedMarkets: Address[];
    /** Maximum amount of a single tx, in base units (uint128). */
    maxAmountPerTx: bigint;
    /** Allow add/remove liquidity operations. */
    allowLiquidityOps: boolean;
    /** Allow PT swaps. */
    allowPtSwaps: boolean;
    /** Allow YT swaps. */
    allowYtSwaps: boolean;
    /** Allow mint / redeem of PY. */
    allowMintRedeem: boolean;
    /** Allow claiming yield (redeemDueInterestAndRewards). */
    allowClaimYield: boolean;
};
export declare const pendleTemplate: PermissionTemplate<PendleParams>;
//# sourceMappingURL=pendle.d.ts.map