import { Account, Address, Hex, PublicClient, WalletClient } from 'viem'; import { CacheController } from './jwt-cache'; export type AuthJwtPayload = { chainId: number; walletAddress: Address; signerAddress: Address; scopes: string[]; createdAt: number; exp: number; }; type Signer = { account?: Account; getChainId: WalletClient['getChainId']; signMessage: WalletClient['signMessage']; }; export type JwtVerificationResult = { walletAddress: Address; signerAddress: Address; isDelegated: boolean; scopes: string[]; } | null; export declare const createJwtToken: ({ message, address, signer, scopes, expiration, }: { message: string; address: Address; signer: Signer; scopes: string[]; expiration: number; }) => Promise; export declare const verifyJwtToken: ({ message, token, web3Client, scopes, strictScopes, delegateXyzRights, maxAllowedExpiration, cacheController, }: { message: string; token: string; web3Client: PublicClient; scopes?: string[] | undefined; strictScopes?: boolean | undefined; delegateXyzRights?: `0x${string}` | undefined; maxAllowedExpiration?: number | undefined; cacheController?: CacheController | undefined; }) => Promise; export {};