///
import { ControllerClass } from '@loopback/core';
import { RestApplication, Request } from '@loopback/rest';
import { User, UserGroup, UserRepository, UserGroupRepository, UserToGroupRepository, UserGroupEndPointPermissionRepository, UserEndPointPermissionRepository } from '..';
export declare class PermissionChecker {
request: Request;
controller: ControllerClass;
method: string;
protected app: RestApplication;
protected _userRepo: UserRepository;
protected _userGroupRepo: UserGroupRepository;
protected _userToGroupRepo: UserToGroupRepository;
protected _userEndPointPermRepo: UserEndPointPermissionRepository;
protected _userGroupEndPointPermRepo: UserGroupEndPointPermissionRepository;
defaultAccess: boolean;
constructor(request: Request, controller: ControllerClass, method: string, app: RestApplication);
isAllowed(user: User): Promise;
getUserGroups(user: User): Promise;
}