import { UsersService } from './users.service';
import { UpdateUserDto } from './dto/update-user.dto';
import { UpdatePreferencesDto } from './dto/update-preferences.dto';
import { UserResponseDto, UserSearchResultDto } from './dto/user-response.dto';
import { AuthenticatedUser } from '../auth/strategies/jwt.strategy';
export declare class UsersController {
    private readonly usersService;
    constructor(usersService: UsersService);
    getMe(user: AuthenticatedUser): Promise<UserResponseDto>;
    updateMe(user: AuthenticatedUser, dto: UpdateUserDto): Promise<UserResponseDto>;
    updatePreferences(user: AuthenticatedUser, dto: UpdatePreferencesDto): Promise<UserResponseDto>;
    deleteMe(user: AuthenticatedUser): Promise<{
        message: string;
    }>;
    search(query: string, user: AuthenticatedUser): Promise<UserSearchResultDto[]>;
}
