/**
 *
 * Loads a local PEM key usually from process.env and transform it to JsonWebKey format.
 * The result is also cached on the module level to avoid unnecessary computations in subsequent invocations.
 *
 * @param {string} localKey
 * @returns {JsonWebKey} key
 */
export declare function loadClerkJWKFromLocal(localKey?: string): JsonWebKey;
export type LoadClerkJWKFromRemoteOptions = {
    kid: string;
    /**
     * @deprecated This cache TTL is deprecated and will be removed in the next major version. Specifying a cache TTL is now a no-op.
     */
    jwksCacheTtlInMs?: number;
    skipJwksCache?: boolean;
    secretKey?: string;
    apiUrl?: string;
    apiVersion?: string;
};
/**
 *
 * Loads a key from JWKS retrieved from the well-known Frontend API endpoint of the issuer.
 * The result is also cached on the module level to avoid network requests in subsequent invocations.
 * The cache lasts 1 hour by default.
 *
 * @param {Object} options
 * @param {string} options.kid - The id of the key that the JWT was signed with
 * @param {string} options.alg - The algorithm of the JWT
 * @returns {JsonWebKey} key
 */
export declare function loadClerkJWKFromRemote({ secretKey, apiUrl, apiVersion, kid, skipJwksCache, }: LoadClerkJWKFromRemoteOptions): Promise<JsonWebKey>;
//# sourceMappingURL=keys.d.ts.map