import { Repository } from 'typeorm';
import { ClsService } from 'nestjs-cls';
import { TenantAwareRepository } from '../../../common/repositories/tenant-aware.repository';
import { UserEntity } from '../../../entities/user.entity';
export declare class UserRepository extends TenantAwareRepository<UserEntity> {
    constructor(repo: Repository<UserEntity>, cls: ClsService);
    findByEmail(email: string): Promise<UserEntity | null>;
    findAllWithRole(): Promise<UserEntity[]>;
    findByIdWithRole(id: string): Promise<UserEntity | null>;
    findDescendantUserIds(managerUserId: string): Promise<string[]>;
    findPaginatedForAdmin(opts: {
        page?: number;
        limit?: number;
        search?: string;
        reportsTo?: string;
    }): Promise<{
        items: UserEntity[];
        meta: {
            total: number;
            page: number;
            limit: number;
            totalPages: number;
        };
    }>;
}
