///
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;
}