export interface TokenClaims { sub: string; iss: string; aud: string | string[]; exp: number; nbf?: number; iat?: number; scope?: string; [key: string]: unknown; } export interface JWTValidationConfig { jwksUri: string; audience: string; issuer: string; algorithms?: string[]; cacheTTL?: number; rateLimit?: boolean; cacheMaxEntries?: number; } export declare class JWTValidator { private jwksClient; private config; constructor(config: JWTValidationConfig); validate(token: string): Promise; private getSigningKey; private verifyToken; }