import { CanActivate, ExecutionContext } from "@nestjs/common";
import { Observable } from "rxjs";
import { AuthRepository } from "../modules/auth/repositories/auth.repository";
import { UserBlacklistedTokenRepository } from "../modules/auth/repositories/user-blacklisted-token.repository";
import { EmployeeRepository } from "../modules/employees/repositories/employee.repository";
import { RoleService } from "../modules/role/role.service";
import { CompanySubscriptionRepository } from "../modules/company/repositories/company-subscription.repository";
export declare class AuthGuardMiddleware implements CanActivate {
    private readonly authRepository;
    private readonly userBlacklistedTokenRepository;
    private readonly employeeRepository;
    private readonly roleService;
    private readonly companySubscriptionRepository;
    constructor(authRepository: AuthRepository, userBlacklistedTokenRepository: UserBlacklistedTokenRepository, employeeRepository: EmployeeRepository, roleService: RoleService, companySubscriptionRepository: CompanySubscriptionRepository);
    canActivate(context: ExecutionContext): boolean | Promise<boolean> | Observable<boolean>;
    validateRequest(req: any): Promise<boolean>;
    private validateDepartmentStatus;
    private validateCompanySubscription;
}
