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';
export declare const OPTIONAL_AUTH_KEY = "optional_auth";
export declare class NestAuthAuthGuard implements CanActivate {
    private reflector;
    private jwtService;
    private sessionManager;
    private accessKeyService;
    private authConfigService;
    constructor(reflector: Reflector, jwtService: JwtService, sessionManager: SessionManagerService, accessKeyService: AccessKeyService, authConfigService: AuthConfigService);
    canActivate(context: ExecutionContext): Promise<boolean>;
    private handleJwtAuth;
    private handleApiKeyAuth;
    private checkMfa;
    private checkAuthorization;
    private getRequiredPermissions;
    private getRequiredRoles;
    private resolveUserRoles;
    private checkRoles;
    private checkPermissions;
    private getUserPermissions;
}
//# sourceMappingURL=auth.guard.d.ts.map