import { Repository } from 'typeorm';
import { User } from '../../database/entities/user.entity';
import { GroupMember } from '../../database/entities/group-member.entity';
import { NotificationPreferences } from '../../database/entities/notification-preferences.entity';
import { UpdateUserDto } from './dto/update-user.dto';
import { UpdatePreferencesDto } from './dto/update-preferences.dto';
import { UserResponseDto, UserSearchResultDto } from './dto/user-response.dto';
export declare class UsersService {
    private readonly userRepo;
    private readonly groupMemberRepo;
    private readonly notificationPrefsRepo;
    constructor(userRepo: Repository<User>, groupMemberRepo: Repository<GroupMember>, notificationPrefsRepo: Repository<NotificationPreferences>);
    getMe(userId: string): Promise<UserResponseDto>;
    updateMe(userId: string, dto: UpdateUserDto): Promise<UserResponseDto>;
    updatePreferences(userId: string, dto: UpdatePreferencesDto): Promise<UserResponseDto>;
    deleteMe(userId: string): Promise<{
        message: string;
    }>;
    search(query: string, requesterId: string): Promise<UserSearchResultDto[]>;
    private toDto;
}
