export interface JWTResponse {
    success: boolean;
    token: string;
    isoDate?: string;
    expiresAt: Date;
}
export declare abstract class JWTService {
    abstract error: any;
    abstract generateToken<P = any>(payload: P, expiresAt?: number): Promise<JWTResponse>;
    abstract verifyToken<P = any>(token: string): Promise<P | boolean>;
}
export declare function generateJWTExpiresDate(expiresAt?: number): {
    milliseconds: number;
    date: Date;
    iso: string;
    hours: number;
    minutes: number;
    seconds: number;
};
