import { OnModuleInit } from "@nestjs/common";
import { Model } from "mongoose";
import { AdminDocument } from "src/schema/admin.schema";
import { JwtService } from "@nestjs/jwt";
import { LoginAdminDto } from "./dto/admin.dto";
import { UsersDocument } from "src/schema/users.schema";
import { Response } from "express";
import { ResponseService } from "src/common/service/response.service";
import { JwtUtilsService } from "src/common/service/jwt-util.service";
import { PermissionDocument } from "src/schema/permission.schema";
import { Role } from "src/common/constant/enum.constant";
export declare class AdminService implements OnModuleInit {
    private readonly adminModel;
    private readonly usersModal;
    private readonly permissionModel;
    private jwtService;
    private resResponse;
    private jwtUtilService;
    constructor(adminModel: Model<AdminDocument>, usersModal: Model<UsersDocument>, permissionModel: Model<PermissionDocument>, jwtService: JwtService, resResponse: ResponseService, jwtUtilService: JwtUtilsService);
    onModuleInit(): Promise<void>;
    login(dto: LoginAdminDto, res: Response): Promise<Response<any, Record<string, any>>>;
    getAllUsers(page: number | undefined, limit: number | undefined, search: string | undefined, res: Response): Promise<Response<any, Record<string, any>>>;
    getUserDetailsById(userId: string, res: Response): Promise<Response<any, Record<string, any>>>;
    updateUserBlockStatus(data: any, res: Response): Promise<Response<any, Record<string, any>>>;
    updateRolePermissions(dto: any, res: Response): Promise<Response<any, Record<string, any>>>;
    getRolePermissions(role: Role, res: Response): Promise<Response<any, Record<string, any>>>;
}
