import { Request, Response, NextFunction } from 'express';
import { AuthTokenPayload } from '../services/authService.js';
export interface AuthenticatedRequest extends Request {
    user?: AuthTokenPayload;
}
/**
 * Authentication middleware
 */
export declare const authenticate: (req: AuthenticatedRequest, res: Response, next: NextFunction) => Promise<void>;
/**
 * Admin only middleware
 */
export declare const requireAdmin: (req: AuthenticatedRequest, res: Response, next: NextFunction) => Promise<void>;
/**
 * Optional authentication middleware - doesn't block if no token
 */
export declare const optionalAuth: (req: AuthenticatedRequest, res: Response, next: NextFunction) => Promise<void>;
//# sourceMappingURL=auth.d.ts.map