import { a as TObject, s as TString } from "../../helpers-DutyHbVD.mjs"; import { t as TUnsafe } from "../../unsafe-C_mX8nG4.mjs"; import { t as TOptional } from "../../optional-Bis1WTKK.mjs"; import { t as TArray } from "../../array-DYdcEI3W.mjs"; //#region extensions/crypto/src/tools/permit2.d.ts /** * Permit2 Tool — Manage Uniswap Permit2 token allowances. * * Permit2 is the universal token approval system used by Uniswap V4 and other * modern DeFi protocols. Instead of approving each contract individually, * you approve Permit2 once per token, then use gas-free signatures for * individual spender allowances. * * Actions: * check_allowance — Read current Permit2 allowance for a token/spender pair * approve — Approve a token for Permit2 (ERC-20 → Permit2 max approval) * approve_batch — Approve multiple tokens for Permit2 in sequence * revoke — Set a Permit2 allowance to zero for a specific spender * lockdown — Emergency: revoke all Permit2 allowances for multiple pairs * * Uses Permit2Client from @clawnch/clawncher-sdk. */ declare function createPermit2Tool(): { name: string; label: string; ownerOnly: boolean; description: string; parameters: TObject<{ action: TUnsafe<"approve" | "check_allowance" | "approve_batch" | "revoke" | "lockdown">; token: TOptional; amount: TOptional; tokens: TOptional>; spender: TOptional; pairs: TOptional>>; }>; execute: (_toolCallId: string, args: unknown) => Promise<{ content: Array<{ type: "text"; text: string; }>; details: unknown; }>; }; //#endregion export { createPermit2Tool }; //# sourceMappingURL=permit2.d.mts.map