import { Request, Response, NextFunction } from 'express'; import { SessionStore } from '../store/session-store.interface.js'; export type AuthenticatedRequest = Request; export declare const createAuthMiddleware: (sessionStore: SessionStore) => (req: Request, _res: Response, next: NextFunction) => undefined; interface ApiKeyData { key: string; name: string; permissions: string[]; expiresAt?: string; } export declare const createApiKeyMiddleware: (validateApiKey: (key: string) => Promise) => (req: Request, _res: Response, next: NextFunction) => undefined; export declare const requireRoles: (...requiredRoles: string[]) => (req: Request, _res: Response, next: NextFunction) => undefined; export declare const optionalAuth: (sessionStore: SessionStore) => ((req: Request, res: Response, next: NextFunction) => void); export declare const requirePermissions: (...requiredPermissions: string[]) => (req: Request, _res: Response, next: NextFunction) => undefined; export {}; //# sourceMappingURL=middleware.d.ts.map