import { JsonWebKeySet, JsonWebKey } from '../types'; /** * Cache for JSON Web Key Sets with automatic expiry */ export declare class JwksCache { private readonly cache; private readonly defaultTtl; constructor(defaultTtl?: number); /** * Gets a cached JWKS if it exists and hasn't expired * @param cacheKey Cache key (typically the JWKS URI) * @returns Cached JWKS or null if not found or expired */ get(cacheKey: string): JsonWebKeySet | null; /** * Stores a JWKS in the cache * @param cacheKey Cache key (typically the JWKS URI) * @param keySet JWKS to cache * @param ttl Optional TTL in milliseconds (defaults to constructor value) */ set(cacheKey: string, keySet: JsonWebKeySet, ttl?: number): void; /** * Clears all cached JWKS */ clear(): void; /** * Gets the number of cached JWKS */ get count(): number; /** * Converts a JWK to PEM format for use with jsonwebtoken * @param jwk JSON Web Key * @returns PEM-encoded public key */ static jwkToPem(jwk: JsonWebKey): string; /** * Gets all public keys from a JWKS as a map of kid -> PEM * @param keySet JSON Web Key Set * @returns Map of key ID to PEM-encoded public key */ static getPublicKeys(keySet: JsonWebKeySet): Map; } //# sourceMappingURL=jwksCache.d.ts.map