import type { UserRole, UserStatus } from '../../shared/types/index.js';
export declare const usersService: {
    getById(id: string): Promise<import("mongoose").Document<unknown, {}, import("../../shared/models/User.model.js").IUser, {}, {}> & import("../../shared/models/User.model.js").IUser & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    list(filters: {
        role?: UserRole;
        status?: UserStatus;
        page?: number;
        limit?: number;
    }): Promise<{
        items: (import("mongoose").FlattenMaps<import("../../shared/models/User.model.js").IUser> & Required<{
            _id: import("mongoose").Types.ObjectId;
        }> & {
            __v: number;
        })[];
        total: number;
        page: number;
        limit: number;
    }>;
    create(data: {
        name: string;
        email: string;
        password: string;
        role: UserRole;
    }, actorId: string, actorRole: UserRole): Promise<(import("mongoose").Document<unknown, {}, import("../../shared/models/User.model.js").IUser, {}, {}> & import("../../shared/models/User.model.js").IUser & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }) | null>;
    update(id: string, data: Partial<{
        name: string;
        status: UserStatus;
    }>, actorId: string): Promise<import("mongoose").Document<unknown, {}, import("../../shared/models/User.model.js").IUser, {}, {}> & import("../../shared/models/User.model.js").IUser & Required<{
        _id: import("mongoose").Types.ObjectId;
    }> & {
        __v: number;
    }>;
    delete(id: string, actorId: string): Promise<{
        deleted: boolean;
    }>;
};
//# sourceMappingURL=users.service.d.ts.map