import { CanActivate, ExecutionContext } from '@nestjs/common';
import { Reflector } from '@nestjs/core';
import { JwtService } from '../../core/services/jwt.service';
import { SessionManagerService } from '../../session/services/session-manager.service';
import { AccessKeyService } from '../../user/services/access-key.service';
import { AuthConfigService } from '../../core/services/auth-config.service';
import { DebugLoggerService } from '../../core/services/debug-logger.service';
import { Repository } from 'typeorm';
import { NestAuthUser } from '../../user/entities/user.entity';
export declare class NestAuthAuthGuard implements CanActivate {
    private reflector;
    private jwtService;
    private sessionManager;
    private accessKeyService;
    private authConfigService;
    private debugLogger;
    private readonly userRepository;
    constructor(reflector: Reflector, jwtService: JwtService, sessionManager: SessionManagerService, accessKeyService: AccessKeyService, authConfigService: AuthConfigService, debugLogger: DebugLoggerService, userRepository: Repository<NestAuthUser>);
    canActivate(context: ExecutionContext): Promise<boolean>;
    private extractToken;
    private handleJwtAuth;
    private handleApiKeyAuth;
    private checkMfa;
    private checkAuthorization;
    private getRequiredPermissions;
    private getRequiredRoles;
    private getRequiredGuard;
    private resolveUserRoles;
    private checkRoles;
    private checkPermissions;
    private getUserPermissions;
}
//# sourceMappingURL=auth.guard.d.ts.map