import { Agent as HttpAgent } from 'http'; import { Agent as HttpsAgent } from 'https'; export interface Headers { [key: string]: string; } export interface Options { jwksUri: string; rateLimit?: boolean; cache?: boolean; cacheMaxEntries?: number; cacheMaxAge?: number; jwksRequestsPerMinute?: number; proxy?: string; requestHeaders?: Headers; timeout?: number; requestAgent?: HttpAgent | HttpsAgent; fetcher?(jwksUri: string): Promise<{ keys: any; }>; getKeysInterceptor?(): Promise; } export interface JSONWebKey { kid: string; alg: string; [key: string]: any; } /** * Create a function to retreive the RSA public key from a JWKS endpoint based on the kid of * the given JWT header. * * @export * @param {Options} options - Options of the jwks-rsa package. * @returns {(header: any, payload: any) => Promise} The returned function. */ export declare function getRSAPublicKeyFromJWKS(options: Options): (header: any, payload: any) => Promise;