/// import { ExpressRequestHandler, FindRoute, InvokeMethod, InvokeMiddleware, ParseParams, Reject, RequestContext, Send, SequenceHandler } from '@loopback/rest'; import { AuthenticateFn, IAuthClient } from 'loopback4-authentication'; import { CasbinAuthorizeFn, CasbinResourceModifierFn } from 'loopback4-authorization'; import { HelmetAction } from 'loopback4-helmet'; import { RateLimitAction } from 'loopback4-ratelimiter'; import { IAuthUserWithPermissions, ILogger } from './components'; import { CoreConfig } from './types'; export declare class CasbinSecureSequence implements SequenceHandler { protected findRoute: FindRoute; protected parseParams: ParseParams; protected invoke: InvokeMethod; send: Send; reject: Reject; logger: ILogger; protected authenticateRequest: AuthenticateFn; protected authenticateClientRequest: AuthenticateFn; protected checkAuthorisation: CasbinAuthorizeFn; protected casbinResModifierFn: CasbinResourceModifierFn; protected helmetAction: HelmetAction; protected rateLimitAction: RateLimitAction; private readonly coreConfig; protected i18n: i18nAPI; private readonly rateLimitConfig?; private readonly helmetConfig?; /** * Optional invoker for registered middleware in a chain. * To be injected via SequenceActions.INVOKE_MIDDLEWARE. */ protected invokeMiddleware: InvokeMiddleware; protected expressMiddlewares: ExpressRequestHandler[]; constructor(findRoute: FindRoute, parseParams: ParseParams, invoke: InvokeMethod, send: Send, reject: Reject, logger: ILogger, authenticateRequest: AuthenticateFn, authenticateClientRequest: AuthenticateFn, checkAuthorisation: CasbinAuthorizeFn, casbinResModifierFn: CasbinResourceModifierFn, helmetAction: HelmetAction, rateLimitAction: RateLimitAction, coreConfig: CoreConfig, i18n: i18nAPI, // sonarignore:end rateLimitConfig?: object | undefined, helmetConfig?: object | undefined); handle(context: RequestContext): Promise; private _handleErrorMessage; private _rejectErrors; }