import type { SignOptions } from 'jsonwebtoken'; import * as jwt from 'jsonwebtoken'; import { Authenticator } from '../../interfaces/authenticator'; import { AuthUser, AuthenticatedUser } from '../..'; export type AuthenticatorOptions = { jwt: SignOptions; secret: string; }; export type JWTPayload = jwt.JwtPayload & { preferred_username: string; }; export declare class JWTAuthenticator implements Authenticator { protected options: AuthenticatorOptions; constructor(options: AuthenticatorOptions); createToken(user: AuthUser): string; verifyToken(token: string): AuthenticatedUser; }