import type { GeneralJWSInput, GeneralVerifyResult, FlattenedJWSInput, GetKeyFunction, JWSHeaderParameters, KeyLike, VerifyOptions, ResolvedKey } from '../../types'; /** * Interface for General JWS Verification dynamic key resolution. No token components have been * verified at the time of this function call. * * @see [createRemoteJWKSet](../functions/jwks_remote.createRemoteJWKSet.md#function-createremotejwkset) to verify using a remote JSON Web Key Set. */ export interface GeneralVerifyGetKey extends GetKeyFunction { } /** * Verifies the signature and format of and afterwards decodes the General JWS. * * @example Usage * * ```js * const jws = { * payload: 'SXTigJlzIGEgZGFuZ2Vyb3VzIGJ1c2luZXNzLCBGcm9kbywgZ29pbmcgb3V0IHlvdXIgZG9vci4', * signatures: [ * { * signature: * 'FVVOXwj6kD3DqdfD9yYqfT2W9jv-Nop4kOehp_DeDGNB5dQNSPRvntBY6xH3uxlCxE8na9d_kyhYOcanpDJ0EA', * protected: 'eyJhbGciOiJFUzI1NiJ9', * }, * ], * } * * const { payload, protectedHeader } = await jose.generalVerify(jws, publicKey) * * console.log(protectedHeader) * console.log(new TextDecoder().decode(payload)) * ``` * * @param jws General JWS. * @param key Key to verify the JWS with. See * {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}. * @param options JWS Verify options. */ export declare function generalVerify(jws: GeneralJWSInput, key: KeyLike | Uint8Array, options?: VerifyOptions): Promise; /** * @param jws General JWS. * @param getKey Function resolving a key to verify the JWS with. See * {@link https://github.com/panva/jose/issues/210#jws-alg Algorithm Key Requirements}. * @param options JWS Verify options. */ export declare function generalVerify(jws: GeneralJWSInput, getKey: GeneralVerifyGetKey, options?: VerifyOptions): Promise>;