export type PublicJwk = Readonly<{ readonly kty: "RSA" | "EC"; readonly kid?: string; readonly use?: "sig"; readonly alg?: string; readonly n?: string; readonly e?: string; readonly crv?: string; readonly x?: string; readonly y?: string; readonly key_ops?: readonly ["verify"]; }>; export interface JwksCacheOptions { readonly ttlSeconds?: number; readonly maxEntries?: number; readonly now?: () => number; } export interface GetJwksKeyOptions { readonly issuer?: string; readonly jwksUri: string; readonly kid?: string; readonly alg: string; readonly forceRefresh?: boolean; readonly allowInsecureLoopback?: boolean; readonly timeoutMs?: number; } export interface JwksCache { getKey(options: GetJwksKeyOptions): Promise; } export interface JwksKeySnapshot { readonly key: PublicJwk; readonly freshness: object; } export declare function getJwksKeyWithFreshness(cache: JwksCache, options: GetJwksKeyOptions, refreshIfCurrent?: JwksKeySnapshot["freshness"]): Promise; export declare function createJwksCache(options?: JwksCacheOptions): JwksCache; //# sourceMappingURL=jwks-cache.d.ts.map