import { Request, Response, NextFunction } from 'express'; declare global { namespace Express { interface Request { user?: any; apiKey?: string; } } } export interface AuthenticatedUser { id: string; email: string; role: 'admin' | 'user' | 'service'; permissions: string[]; } export declare const authMiddleware: (req: Request, res: Response, next: NextFunction) => Promise>>; export declare const requireRole: (roles: string[]) => (req: Request, res: Response, next: NextFunction) => Response> | undefined; export declare const requirePermission: (permission: string) => (req: Request, res: Response, next: NextFunction) => Response> | undefined; export declare const apiKeyAuth: (req: Request, res: Response, next: NextFunction) => Promise>>; //# sourceMappingURL=auth.d.ts.map