import { RequestHandler, NextFunction } from "express-serve-static-core"; import { Socket } from 'socket.io'; declare class SessionUserService { readonly Roles: Array; readonly user: any; readonly role: string | number; session: any; socket: Socket; constructor(user: any, config: IUserSessionConfig); hasAccess(role?: string | number): boolean; HasAccessLevel(role?: string | number): boolean; } export declare const SessionUser: () => SessionUserService; export interface IUserSessionConfig { Roles: Array; UserRolePath?: string; } export declare const ConfigureSessionUserService: (config: IUserSessionConfig) => void; /** * To use you must have extended the express request to include req.user */ export declare const EnableAuthorizeDecorator: RequestHandler; /** * To use you must have extended the socket.request to include user */ export declare const EnableSessionUserSocket: (socket: Socket, next: NextFunction) => void; /** * To use EnableAuthorizeDecorator middleware when configuring the area * @param role */ export declare function Authorize(role?: string | number): (target: any, key: string, descriptor: PropertyDescriptor) => void; export {};