@unvision/jose
Version:
Implementation of the RFCs of the JOSE Working Group.
47 lines (46 loc) • 1.75 kB
TypeScript
import { JsonWebKey } from '../jwk/jsonwebkey';
import { JsonWebKeySetParameters } from './jsonwebkeyset.parameters';
/**
* Implementation of a JSON Web Key Set.
*
* @see https://www.rfc-editor.org/rfc/rfc7517.html#section-5
*/
export declare class JsonWebKeySet implements JsonWebKeySetParameters {
/**
* JSON Web Keys registered at the JSON Web Key Set.
*/
readonly keys: JsonWebKey[];
/**
* Instantiates a new JSON Web Key Set based on the provided JSON Web Keys.
*
* @param keys JSON Web Keys to be registered at the JSON Web Key Set.
*/
constructor(keys: JsonWebKey[]);
/**
* Loads the provided Parameters into a JSON Web Key Set.
*
* @param parameters Parameters of the JSON Web Key Set.
* @returns JSON Web Key Set based on the provided Parameters.
*/
static load(parameters: JsonWebKeySetParameters): JsonWebKeySet;
/**
* Parses a JSON String into a JSON Web Key Set.
*
* @param data JSON String representation of the JSON Web Key Set to be parsed.
* @returns Instance of a JSON Web Key Set based on the provided JSON String.
*/
static parse(data: string): JsonWebKeySet;
/**
* Finds and returns a JSON Web Key that satisfies the provided predicate.
*
* @param predicate Predicate used to locate the requested JSON Web Key.
* @returns JSON Web Key that satisfies the provided predicate.
*/
find<T extends JsonWebKey>(predicate: (key: JsonWebKey) => boolean): T | null;
/**
* Returns the Parameters of the JSON Web Key Set.
*
* @param exportPublic Exports only the Public Parameters of the JSON Web Keys.
*/
toJSON(exportPublic?: boolean): JsonWebKeySetParameters;
}