/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/aggregate" />
/// <reference types="mongoose/types/callback" />
/// <reference types="mongoose/types/collection" />
/// <reference types="mongoose/types/connection" />
/// <reference types="mongoose/types/cursor" />
/// <reference types="mongoose/types/document" />
/// <reference types="mongoose/types/error" />
/// <reference types="mongoose/types/expressions" />
/// <reference types="mongoose/types/helpers" />
/// <reference types="mongoose/types/middlewares" />
/// <reference types="mongoose/types/indexes" />
/// <reference types="mongoose/types/models" />
/// <reference types="mongoose/types/mongooseoptions" />
/// <reference types="mongoose/types/pipelinestage" />
/// <reference types="mongoose/types/populate" />
/// <reference types="mongoose/types/query" />
/// <reference types="mongoose/types/schemaoptions" />
/// <reference types="mongoose/types/schematypes" />
/// <reference types="mongoose/types/session" />
/// <reference types="mongoose/types/types" />
/// <reference types="mongoose/types/utility" />
/// <reference types="mongoose/types/validation" />
/// <reference types="mongoose/types/virtuals" />
/// <reference types="mongoose" />
/// <reference types="mongoose/types/inferschematype" />
import express from 'express';
import { IUserRole, IUser, IUserAccess } from '../interfaces/auth-user.interface';
interface IAuthConfig {
    baseUrl: string;
}
export declare class UsersService {
    private readonly config;
    constructor(config: IAuthConfig);
    getUserAccessByRequest(req: express.Request): Promise<IUserAccess | null>;
    getUserById(userId: string): Promise<IUser>;
    getUserByUsername(username: string): Promise<IUser>;
    getUserByToken(req: express.Request): Promise<IUser>;
    getUserIdByToken(req: express.Request): Promise<string>;
    getUserList(): Promise<IUser[]>;
    getAllRoles(): Promise<IUserRole[]>;
    getUserRoles(userId: string): Promise<string[]>;
    updateMobileUser(userId: string, keyValue: {
        [key: string]: string | number | boolean;
    }): Promise<void>;
    getUserAccess(userId: string): Promise<IUserAccess>;
    getUserLogByDate(userId: string, date: Date): Promise<import("mongoose").FlattenMaps<import("../models/UserLog.model").IUserLog> & {
        _id: import("mongoose").Types.ObjectId;
    }>;
}
export {};
