/** * @see {@link https://datatracker.ietf.org/doc/html/rfc7515 JSON Web Signature (JWS)} * * * File automatically generated using json-schema-to-typescript. * ! DO NOT MODIFY IT BY HAND ! * Instead, modify the source file ./jose/jws.schema.json of @oada/formats * and run `$ yarn build` to regenerate this file. * * @packageDocumentation */ /** * `$id` of the source schema * @see {@link https://formats.openag.io/jose/jws.schema.json} */ export declare const $id = "https://formats.openag.io/jose/jws.schema.json"; /** * JSON Schema used to generate this type * @see {@link https://formats.openag.io/jose/jws.schema.json} */ export declare const schema: { readonly $id: "https://formats.openag.io/jose/jws.schema.json"; readonly $schema: "http://json-schema.org/draft-07/schema#"; readonly title: "JWS"; readonly description: "@see {@link https://datatracker.ietf.org/doc/html/rfc7515 JSON Web Signature (JWS)}"; readonly definitions: { readonly parameters: { readonly title: "JOSE Header parameters"; readonly description: "@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4 JOSE Header}"; readonly definitions: { readonly registered: { readonly title: "Registered Header Parameter Names"; readonly description: "IANA Registered Header Parameter Names\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1 Registered Header Parameter Names}\n@see {@link https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-header-parameters}"; readonly $comment: "Enum retrieved dynamically from https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-header-parameters on Tue May 19 2026 18:03:06 GMT-0700 (Pacific Daylight Time)"; readonly oneOf: readonly [{ readonly title: "alg"; readonly description: "Algorithm\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1}"; readonly const: "alg"; }, { readonly title: "jku"; readonly description: "JWK Set URL\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2}"; readonly const: "jku"; }, { readonly title: "jwk"; readonly description: "JSON Web Key\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3}"; readonly const: "jwk"; }, { readonly title: "kid"; readonly description: "Key ID\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4}"; readonly const: "kid"; }, { readonly title: "x5u"; readonly description: "X.509 URL\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5}"; readonly const: "x5u"; }, { readonly title: "x5c"; readonly description: "X.509 Certificate Chain\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6}"; readonly const: "x5c"; }, { readonly title: "x5t"; readonly description: "X.509 Certificate SHA-1 Thumbprint\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7}"; readonly const: "x5t"; }, { readonly title: "x5t#S256"; readonly description: "X.509 Certificate SHA-256 Thumbprint\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8}"; readonly const: "x5t#S256"; }, { readonly title: "typ"; readonly description: "Type\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9}"; readonly const: "typ"; }, { readonly title: "cty"; readonly description: "Content Type\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10}"; readonly const: "cty"; }, { readonly title: "crit"; readonly description: "Critical\n@see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.11}"; readonly const: "crit"; }, { readonly title: "alg"; readonly description: "Algorithm\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.1}"; readonly const: "alg"; }, { readonly title: "enc"; readonly description: "Encryption Algorithm\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2}"; readonly const: "enc"; }, { readonly title: "zip"; readonly description: "Compression Algorithm\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3}"; readonly const: "zip"; }, { readonly title: "jku"; readonly description: "JWK Set URL\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.4}"; readonly const: "jku"; }, { readonly title: "jwk"; readonly description: "JSON Web Key\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.5}"; readonly const: "jwk"; }, { readonly title: "kid"; readonly description: "Key ID\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6}"; readonly const: "kid"; }, { readonly title: "x5u"; readonly description: "X.509 URL\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.7}"; readonly const: "x5u"; }, { readonly title: "x5c"; readonly description: "X.509 Certificate Chain\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.8}"; readonly const: "x5c"; }, { readonly title: "x5t"; readonly description: "X.509 Certificate SHA-1 Thumbprint\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.9}"; readonly const: "x5t"; }, { readonly title: "x5t#S256"; readonly description: "X.509 Certificate SHA-256 Thumbprint\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.10}"; readonly const: "x5t#S256"; }, { readonly title: "typ"; readonly description: "Type\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.11}"; readonly const: "typ"; }, { readonly title: "cty"; readonly description: "Content Type\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12}"; readonly const: "cty"; }, { readonly title: "crit"; readonly description: "Critical\n@see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.13}"; readonly const: "crit"; }, { readonly title: "epk"; readonly description: "Ephemeral Public Key\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1}"; readonly const: "epk"; }, { readonly title: "apu"; readonly description: "Agreement PartyUInfo\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2}"; readonly const: "apu"; }, { readonly title: "apv"; readonly description: "Agreement PartyVInfo\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3}"; readonly const: "apv"; }, { readonly title: "iv"; readonly description: "Initialization Vector\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1}"; readonly const: "iv"; }, { readonly title: "tag"; readonly description: "Authentication Tag\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.2}"; readonly const: "tag"; }, { readonly title: "p2s"; readonly description: "PBES2 Salt Input\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.8.1.1}"; readonly const: "p2s"; }, { readonly title: "p2c"; readonly description: "PBES2 Count\n@see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.8.1.2}"; readonly const: "p2c"; }, { readonly title: "iss"; readonly description: "Issuer\n@see {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1}"; readonly const: "iss"; }, { readonly title: "sub"; readonly description: "Subject\n@see {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2}"; readonly const: "sub"; }, { readonly title: "aud"; readonly description: "Audience\n@see {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3}"; readonly const: "aud"; }, { readonly title: "b64"; readonly description: "Base64url-Encode Payload\n@see {@link https://datatracker.ietf.org/doc/html/rfc7797#section-3}"; readonly const: "b64"; }, { readonly title: "ppt"; readonly description: "PASSporT extension identifier\n@see {@link https://datatracker.ietf.org/doc/html/rfc8225#section-8.1}"; readonly const: "ppt"; }, { readonly title: "url"; readonly description: "URL\n@see {@link https://datatracker.ietf.org/doc/html/rfc8555#section-6.4.1}"; readonly const: "url"; }, { readonly title: "nonce"; readonly description: "Nonce\n@see {@link https://datatracker.ietf.org/doc/html/rfc8555#section-6.5.2}"; readonly const: "nonce"; }, { readonly title: "svt"; readonly description: "Signature Validation Token\n@see {@link https://datatracker.ietf.org/doc/html/rfc9321}"; readonly const: "svt"; }, { readonly title: "iheSSId"; readonly description: "The iheSSId header parameter's value shall specify the SubmissionSet.uniqueId as per [https://profiles.ihe.net/ITI/TF/Volume3/ch-4.2.html#4.2.3.3.12].\n@see {@link https://profiles.ihe.net/ITI/DSGj/Volume3/ch-5.10.html#5.10}"; readonly const: "iheSSId"; }, { readonly title: "jwt"; readonly description: "This header contains a JWT. Processing rules MAY depend on the typ header value of the respective JWT.\n@see {@link OpenID for Verifiable Presentations 1.0, Section 12}"; readonly const: "jwt"; }, { readonly title: "client_id"; readonly description: "This header contains a Client Identifier. A Client Identifier is used in OAuth to identify a certain client. It is defined in [RFC6749], section 2.2.\n@see {@link https://datatracker.ietf.org/doc/html/rfc6749}"; readonly const: "client_id"; }, { readonly title: "trust_chain"; readonly description: "OpenID Federation Trust Chain\n@see {@link OpenID Federation 1.0, Section 4.3}"; readonly const: "trust_chain"; }, { readonly title: "peer_trust_chain"; readonly description: "OpenID Federation Peer Trust Chain\n@see {@link OpenID Federation 1.0, Section 4.4}"; readonly const: "peer_trust_chain"; }]; }; }; readonly oneOf: readonly [{ readonly $ref: "#/definitions/parameters/definitions/registered"; }, { readonly $ref: "../utils.schema.json#/definitions/anyOtherString"; }]; }; }; }; /** * Returns true if `val` is a @type `JWS`, false otherwise */ export declare function is(val: unknown): val is JWS; /** * Asserts that `val` is a @type `JWS` */ export declare function assert(val: unknown): asserts val is JWS; /** * @see {@link https://datatracker.ietf.org/doc/html/rfc7515 JSON Web Signature (JWS)} * */ export default JWS; /** * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4 JOSE Header} * * This interface was referenced by `JWS`'s JSON-Schema * via the `definition` "parameters". */ export type JOSEHeaderParameters = RegisteredHeaderParameterNames | AnyOtherString; /** * IANA Registered Header Parameter Names * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1 Registered Header Parameter Names} * @see {@link https://www.iana.org/assignments/jose/jose.xhtml#web-signature-encryption-header-parameters} */ export type RegisteredHeaderParameterNames = Alg | Jku | Jwk | Kid | X5U | X5C | X5T | X5TS256 | Typ | Cty | Crit | Alg1 | Enc | Zip | Jku1 | Jwk1 | Kid1 | X5U1 | X5C1 | X5T1 | X5TS2561 | Typ1 | Cty1 | Crit1 | Epk | Apu | Apv | Iv | Tag | P2S | P2C | Iss | Sub | Aud | B64 | Ppt | Url | Nonce | Svt | IheSSId | Jwt | ClientId | TrustChain | PeerTrustChain; /** * Algorithm * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.1} */ export type Alg = 'alg'; /** * JWK Set URL * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.2} */ export type Jku = 'jku'; /** * JSON Web Key * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.3} */ export type Jwk = 'jwk'; /** * Key ID * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.4} */ export type Kid = 'kid'; /** * X.509 URL * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5} */ export type X5U = 'x5u'; /** * X.509 Certificate Chain * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.6} */ export type X5C = 'x5c'; /** * X.509 Certificate SHA-1 Thumbprint * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.7} */ export type X5T = 'x5t'; /** * X.509 Certificate SHA-256 Thumbprint * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.8} */ export type X5TS256 = 'x5t#S256'; /** * Type * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.9} */ export type Typ = 'typ'; /** * Content Type * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.10} */ export type Cty = 'cty'; /** * Critical * @see {@link https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.11} */ export type Crit = 'crit'; /** * Algorithm * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.1} */ export type Alg1 = 'alg'; /** * Encryption Algorithm * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.2} */ export type Enc = 'enc'; /** * Compression Algorithm * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.3} */ export type Zip = 'zip'; /** * JWK Set URL * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.4} */ export type Jku1 = 'jku'; /** * JSON Web Key * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.5} */ export type Jwk1 = 'jwk'; /** * Key ID * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.6} */ export type Kid1 = 'kid'; /** * X.509 URL * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.7} */ export type X5U1 = 'x5u'; /** * X.509 Certificate Chain * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.8} */ export type X5C1 = 'x5c'; /** * X.509 Certificate SHA-1 Thumbprint * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.9} */ export type X5T1 = 'x5t'; /** * X.509 Certificate SHA-256 Thumbprint * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.10} */ export type X5TS2561 = 'x5t#S256'; /** * Type * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.11} */ export type Typ1 = 'typ'; /** * Content Type * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.12} */ export type Cty1 = 'cty'; /** * Critical * @see {@link https://datatracker.ietf.org/doc/html/rfc7516#section-4.1.13} */ export type Crit1 = 'crit'; /** * Ephemeral Public Key * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.1} */ export type Epk = 'epk'; /** * Agreement PartyUInfo * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.2} */ export type Apu = 'apu'; /** * Agreement PartyVInfo * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.6.1.3} */ export type Apv = 'apv'; /** * Initialization Vector * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.1} */ export type Iv = 'iv'; /** * Authentication Tag * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.7.1.2} */ export type Tag = 'tag'; /** * PBES2 Salt Input * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.8.1.1} */ export type P2S = 'p2s'; /** * PBES2 Count * @see {@link https://datatracker.ietf.org/doc/html/rfc7518#section-4.8.1.2} */ export type P2C = 'p2c'; /** * Issuer * @see {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.1} */ export type Iss = 'iss'; /** * Subject * @see {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.2} */ export type Sub = 'sub'; /** * Audience * @see {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.3} */ export type Aud = 'aud'; /** * Base64url-Encode Payload * @see {@link https://datatracker.ietf.org/doc/html/rfc7797#section-3} */ export type B64 = 'b64'; /** * PASSporT extension identifier * @see {@link https://datatracker.ietf.org/doc/html/rfc8225#section-8.1} */ export type Ppt = 'ppt'; /** * URL * @see {@link https://datatracker.ietf.org/doc/html/rfc8555#section-6.4.1} */ export type Url = 'url'; /** * Nonce * @see {@link https://datatracker.ietf.org/doc/html/rfc8555#section-6.5.2} */ export type Nonce = 'nonce'; /** * Signature Validation Token * @see {@link https://datatracker.ietf.org/doc/html/rfc9321} */ export type Svt = 'svt'; /** * The iheSSId header parameter's value shall specify the SubmissionSet.uniqueId as per [https://profiles.ihe.net/ITI/TF/Volume3/ch-4.2.html#4.2.3.3.12]. * @see {@link https://profiles.ihe.net/ITI/DSGj/Volume3/ch-5.10.html#5.10} */ export type IheSSId = 'iheSSId'; /** * This header contains a JWT. Processing rules MAY depend on the typ header value of the respective JWT. * @see {@link OpenID for Verifiable Presentations 1.0, Section 12} */ export type Jwt = 'jwt'; /** * This header contains a Client Identifier. A Client Identifier is used in OAuth to identify a certain client. It is defined in [RFC6749], section 2.2. * @see {@link https://datatracker.ietf.org/doc/html/rfc6749} */ export type ClientId = 'client_id'; /** * OpenID Federation Trust Chain * @see {@link OpenID Federation 1.0, Section 4.3} */ export type TrustChain = 'trust_chain'; /** * OpenID Federation Peer Trust Chain * @see {@link OpenID Federation 1.0, Section 4.4} */ export type PeerTrustChain = 'peer_trust_chain'; /** * Workaround to make TypeScript autocomplete better for string enums */ export type AnyOtherString = string & Record; /** * @see {@link https://datatracker.ietf.org/doc/html/rfc7515 JSON Web Signature (JWS)} */ export interface JWS { [k: string]: unknown; }