import { Response as ExpressResponse, Request } from 'express';
import { ApiLog } from 'src/api-logs/entities/api-log.entity';
import { ChangePasswordDto } from 'src/auth/dto/change-password.dto';
import { DataSource, Repository } from 'typeorm';
import { AppUsersService } from './app_users.service';
import { CreateAppUserDto } from './dto/create-app_user.dto';
import { forgetPasswordDto } from './dto/forget-password.dto';
import { UpdateAppUserDto } from './dto/update-app_user.dto';
export declare class AppUsersController {
    private readonly appUsersService;
    private readonly apiLogRepository;
    private readonly connection;
    constructor(appUsersService: AppUsersService, apiLogRepository: Repository<ApiLog>, connection: DataSource);
    create(createAppUserDto: CreateAppUserDto, profile_picture: any, res: ExpressResponse): Promise<ExpressResponse<any, Record<string, any>>>;
    login(loginDto: CreateAppUserDto, res: ExpressResponse, req: Request): Promise<void>;
    changePass(changePassDto: ChangePasswordDto, res: ExpressResponse): Promise<void>;
    forgotPassword(inputEmail: any, res: ExpressResponse): Promise<ExpressResponse<any, Record<string, any>>>;
    resetPassword(resetPasswordDto: forgetPasswordDto, token: string, res: ExpressResponse): Promise<ExpressResponse<any, Record<string, any>>>;
    userEmailVerification(token: string, res: ExpressResponse): Promise<ExpressResponse<any, Record<string, any>>>;
    verifyEmailByAdmin(inputEmail: any, res: ExpressResponse): Promise<ExpressResponse<any, Record<string, any>>>;
    logout(id: string, res: ExpressResponse): Promise<void>;
    updateUser(id: string, profile_picture: any, updateUserDto: UpdateAppUserDto, res: ExpressResponse): Promise<ExpressResponse<any, Record<string, any>>>;
    getUser(id: string, res: ExpressResponse): Promise<void>;
    findAll(take: number, skip: number, search: string, res: ExpressResponse): Promise<void>;
    skipLogin(createAppUserDto: CreateAppUserDto, res: ExpressResponse, req: Request): Promise<void>;
    associateUserWithGroup(userId: string, groupId: string, res: ExpressResponse): Promise<void>;
    removeUserFromGroup(userId: string, groupId: string, res: ExpressResponse): Promise<void>;
    getUserGroups(userId: string, search: string, res: ExpressResponse): Promise<void>;
    getExploreGroups(userId: string, search: string, res: ExpressResponse): Promise<void>;
    getStepGoalOfUser(res: ExpressResponse): Promise<void>;
    updateUserGoalCount(updateGoalsData: {
        count: string;
    }, res: ExpressResponse): Promise<void>;
    remove(id: string, res: ExpressResponse): Promise<void>;
    updateStepTrackingPermission(userId: string, isStepTrackingEnabled: boolean, res: ExpressResponse): Promise<void>;
}
