import type { JwtBody, JwtHeader } from '../types'; export type Fixup = (header: JwtHeader, body: JwtBody) => void; export interface DecodeValidators { aud?: typeof validateAudience; exp?: typeof validateExpires; iat?: typeof validateIssuedAt; nbf?: typeof validateNotBefore; } export interface DecodingOptions { expiresSkew?: number; expiresMax?: number; nbfIatSkew?: number; fixup?: Fixup; validators?: DecodeValidators; } export interface PublicKey { publicKey: string; expiresSkew?: number; expiresMax?: number; validators?: DecodeValidators; } export type ValidatorOptions = DecodingOptions & Partial; export declare function validateNotBefore(body: JwtBody, unixNow: number, options: ValidatorOptions): void | never; export declare function validateIssuedAt(body: JwtBody, unixNow: number, options: ValidatorOptions): void | never; export declare function validateAudience(body: JwtBody, audiences: string[]): void | never; export declare function validateExpires(body: JwtBody, unixNow: number, options: ValidatorOptions): void | never;