import { User } from '../types/index.js';
/**
 * JWT payload interface
 */
export interface JWTPayload {
    userId: string;
    username: string;
    email?: string;
    role: string;
    iat?: number;
    exp?: number;
}
/**
 * Generate a JWT token for a user
 * @param user - User object
 * @returns string - JWT token
 */
export declare function generateToken(user: User): string;
/**
 * Verify and decode a JWT token
 * @param token - JWT token string
 * @returns JWTPayload - Decoded payload
 */
export declare function verifyToken(token: string): JWTPayload;
/**
 * Generate a refresh token (longer expiry)
 * @param user - User object
 * @returns string - Refresh token
 */
export declare function generateRefreshToken(user: User): string;
/**
 * Extract token from Authorization header
 * @param authHeader - Authorization header value
 * @returns string | null - Token or null if not found
 */
export declare function extractTokenFromHeader(authHeader: string | undefined): string | null;
//# sourceMappingURL=jwt.d.ts.map