/// <reference types="express" />
import { TokenService } from '@loopback/authentication';
import { AuthorizationContext, AuthorizationDecision, AuthorizationMetadata, Authorizer } from '@loopback/authorization';
import { Provider } from '@loopback/core';
import { Request } from '@loopback/rest';
import { UserProfile } from '@loopback/security';
import { AccessRightsService } from './access-rights/access-rights.service';
import { CurrentContext } from './application.service';
export declare class AppAuthorizationProvider implements Provider<Authorizer> {
    ctx: CurrentContext;
    private accessRightsService;
    private user;
    private request;
    jwtService: TokenService;
    constructor(ctx: CurrentContext, accessRightsService: AccessRightsService, user: UserProfile, request: Request, jwtService: TokenService);
    value(): Authorizer;
    authorize(context: AuthorizationContext, metadata: AuthorizationMetadata): Promise<AuthorizationDecision>;
}
