import { Address, Hex, PublicClient, WalletClient } from 'viem'; export type PermitDetails = { token: Address; amount: bigint; expiration: bigint; nonce: bigint; }; export type PermitSingle = { details: PermitDetails; spender: Address; sigDeadline: bigint; }; export type PermitBatch = { details: PermitDetails[]; spender: Address; sigDeadline: bigint; }; export type TransferDetail = { from: Address; to: Address; amount: bigint; token: Address; }; export declare function getNonce(userAddress: Address, tokenAddress: Address, spenderAddress: Address, publicClient: PublicClient, permit2Address: Address): Promise; export declare function signPermit(permit: PermitSingle, walletClient: WalletClient, chainId: number, permit2Address: Address): Promise; export declare function getPermitSignature(permit: PermitSingle, chainId: number, permit2Address: Address, publicClient: PublicClient, walletClient: WalletClient): Promise; export declare function getPermitBatchSignature(permit: PermitBatch, walletClient: WalletClient, chainId: number, permit2Address: Address, publicClient: PublicClient): Promise; export declare function signPermitBatch(permit: PermitBatch, walletClient: WalletClient, chainId: number, permit2Address: Address): Promise; //# sourceMappingURL=Permit2.d.ts.map