/// /// import { BinaryToTextEncoding } from 'crypto'; import jwt, { Secret, SignOptions, VerifyOptions } from 'jsonwebtoken'; /** * Symmetric JWT secret */ export type JWTSecret = { secret: string; keyid?: string; }; /** * Encode a json object into JWT */ export declare function jwtSign(payload: string | Buffer | object, secretOrPrivateKey?: Secret, options?: SignOptions): string; /** * Decode a JWT into a json object */ export declare function jwtVerify(token: string, secretOrPublicKey: Secret, options?: VerifyOptions): object | string; export declare function createHmacHash(seed: string, keyid?: string, encoding?: BinaryToTextEncoding): string; /** * Get the signing secret for JWTs * @param keyid - Optional key id * @returns */ export declare function getJwtSecret(keyid?: string, secrets?: JWTSecret[]): string; /** * Load JWT secrets from env vars * @returns */ export declare function getJWtSecrets(): JWTSecret[]; /** * Get the JWT issuer * @returns */ export declare function getJwtIssuer(): string; /** * Get the JWT audience * @returns */ export declare function getJwtAudience(): string; export declare const decode: typeof jwt.decode, sign: typeof jwt.sign, verify: typeof jwt.verify; export type { DecodeOptions, Jwt, JwtHeader, JwtPayload, Secret, SignOptions, VerifyOptions, } from 'jsonwebtoken';