import { Exception } from '../exception'; type JWTBaseClaims = { iss?: string; sub?: string; aud?: string | string[]; exp?: number; nbf?: number; iat?: number; jti?: string; }; export declare class JWTInvalidFormat extends Exception { constructor(); } export declare class JWTInvalidSignature extends Exception { constructor(); } export declare class JWTExpired extends Exception { constructor(); } export declare class JWT { /** * Sign a JWT */ static sign>(payload: T & JWTBaseClaims, secret: string, expiresInSeconds: number): Promise; /** * Verify and return a typed payload if valid, otherwise null */ static verify>(token: string, secret: string): Promise; /** * Decode without verifying signature */ static decode>(token: string): T & JWTBaseClaims; } export {};