import { Request, Response, NextFunction } from 'express';
import { UserContext } from '../services/rbac.service';
/**
 * Extended Request interface with user data
 */
export interface AuthenticatedRequest extends Request {
    user?: UserContext;
}
/**
 * Authentication middleware
 * Validates JWT tokens and attaches user data to request
 */
export declare function authMiddleware(req: AuthenticatedRequest, res: Response, next: NextFunction): void;
/**
 * Optional authentication middleware
 * Validates token if present but doesn't require it
 */
export declare function optionalAuthMiddleware(req: AuthenticatedRequest, res: Response, next: NextFunction): void;
//# sourceMappingURL=auth.middleware.d.ts.map