import { UserEntity } from './entities/user.entity';
import { Repository } from 'typeorm';
export declare class UserRepository {
    private readonly userRepository;
    constructor(userRepository: Repository<UserEntity>);
    findAllActiveUser(take: number, skip: number, search: string, years: number[], courseIds: string[], dateOfBirth: string, cityIds: string[], jobIds: string[], key?: string, order?: string): Promise<{
        count: number;
        data: {
            profile_picture: string;
            city_id: {
                id: string;
                name: string;
                state: string;
            };
            job_id: {
                id: string;
                name: string;
            };
            id: string;
            first_name: string;
            middle_name: string;
            last_name: string;
            password: string;
            email: string;
            contact_no: number;
            batch: number;
            date_of_birth: Date;
            designation: string;
            company_name: string;
            company_address: string;
            home_town: string;
            is_admin: number;
            updated_at: Date;
            status: number;
            access_token: string;
            access_token_expiry: string;
            password_reset_token: string;
            password_reset_token_expiry: string;
            fcm_token: string;
            course: string[];
            created_at: Date;
            deleted_at: Date;
            posts: import("../posts/entities/post.entity").PostEntity[];
        }[];
    }>;
    findOne(id: string): Promise<{
        profile_picture: string;
        city_id: {
            id: string;
            name: string;
            state: string;
        };
        job_id: {
            id: string;
            name: string;
        };
        id: string;
        first_name: string;
        middle_name: string;
        last_name: string;
        password: string;
        email: string;
        contact_no: number;
        batch: number;
        date_of_birth: Date;
        designation: string;
        company_name: string;
        company_address: string;
        home_town: string;
        is_admin: number;
        updated_at: Date;
        status: number;
        access_token: string;
        access_token_expiry: string;
        password_reset_token: string;
        password_reset_token_expiry: string;
        fcm_token: string;
        course: string[];
        created_at: Date;
        deleted_at: Date;
        posts: import("../posts/entities/post.entity").PostEntity[];
    }>;
    findAllForApproval(take: any, skip: any): Promise<{
        count: number;
        data: {
            profile_picture: string;
            city_id: {
                id: string;
                name: string;
                state: string;
            };
            job_id: {
                id: string;
                name: string;
            };
            id: string;
            first_name: string;
            middle_name: string;
            last_name: string;
            password: string;
            email: string;
            contact_no: number;
            batch: number;
            date_of_birth: Date;
            designation: string;
            company_name: string;
            company_address: string;
            home_town: string;
            is_admin: number;
            updated_at: Date;
            status: number;
            access_token: string;
            access_token_expiry: string;
            password_reset_token: string;
            password_reset_token_expiry: string;
            fcm_token: string;
            course: string[];
            created_at: Date;
            deleted_at: Date;
            posts: import("../posts/entities/post.entity").PostEntity[];
        }[];
    }>;
    filterUsersByYearsAndCourse(years: number[], courseIds: string[]): Promise<{
        profile_picture: string;
        id: string;
        first_name: string;
        middle_name: string;
        last_name: string;
        password: string;
        email: string;
        city_id: string;
        job_id: string;
        contact_no: number;
        batch: number;
        date_of_birth: Date;
        designation: string;
        company_name: string;
        company_address: string;
        home_town: string;
        is_admin: number;
        updated_at: Date;
        status: number;
        access_token: string;
        access_token_expiry: string;
        password_reset_token: string;
        password_reset_token_expiry: string;
        fcm_token: string;
        course: string[];
        created_at: Date;
        deleted_at: Date;
        job: import("../job/entities/job.entity").JobEntity;
        city: import("../cities/entities/city.entity").CityEntity;
        posts: import("../posts/entities/post.entity").PostEntity[];
    }[]>;
    findOneForApproval(id: string): Promise<{
        id: string;
        first_name: string;
        middle_name: string;
        last_name: string;
        password: string;
        email: string;
        city_id: string;
        job_id: string;
        contact_no: number;
        batch: number;
        date_of_birth: Date;
        designation: string;
        company_name: string;
        company_address: string;
        home_town: string;
        is_admin: number;
        profile_picture: string;
        updated_at: Date;
        status: number;
        access_token: string;
        access_token_expiry: string;
        password_reset_token: string;
        password_reset_token_expiry: string;
        fcm_token: string;
        course: string[];
        created_at: Date;
        deleted_at: Date;
        job: import("../job/entities/job.entity").JobEntity;
        city: import("../cities/entities/city.entity").CityEntity;
        posts: import("../posts/entities/post.entity").PostEntity[];
    }>;
    findUserTokenExpiry(access_token: string): Promise<UserEntity>;
    findOneForPassword(identifier: any): Promise<UserEntity | undefined>;
    findByEmail(email: string): Promise<{
        profile_picture: string;
        id: string;
        first_name: string;
        middle_name: string;
        last_name: string;
        password: string;
        email: string;
        city_id: string;
        job_id: string;
        contact_no: number;
        batch: number;
        date_of_birth: Date;
        designation: string;
        company_name: string;
        company_address: string;
        home_town: string;
        is_admin: number;
        updated_at: Date;
        status: number;
        access_token: string;
        access_token_expiry: string;
        password_reset_token: string;
        password_reset_token_expiry: string;
        fcm_token: string;
        course: string[];
        created_at: Date;
        deleted_at: Date;
        job: import("../job/entities/job.entity").JobEntity;
        city: import("../cities/entities/city.entity").CityEntity;
        posts: import("../posts/entities/post.entity").PostEntity[];
    }>;
    findOneByEmail(email: string): Promise<UserEntity>;
    findByIdentifier(identifier: string | number, column: 'email' | 'contact_no'): Promise<UserEntity>;
    findAll(): Promise<{
        profile_picture: string;
        city_id: {
            id: string;
            name: string;
            state: string;
        };
        job_id: {
            id: string;
            name: string;
        };
        id: string;
        first_name: string;
        middle_name: string;
        last_name: string;
        password: string;
        email: string;
        contact_no: number;
        batch: number;
        date_of_birth: Date;
        designation: string;
        company_name: string;
        company_address: string;
        home_town: string;
        is_admin: number;
        updated_at: Date;
        status: number;
        access_token: string;
        access_token_expiry: string;
        password_reset_token: string;
        password_reset_token_expiry: string;
        fcm_token: string;
        created_at: Date;
        deleted_at: Date;
        posts: import("../posts/entities/post.entity").PostEntity[];
    }[]>;
}
