import { TCreateUser, TDeleteManyInput, TPagedList, TPagedParams, TUpdateUser, TUser, TUserFilter } from '@cromwell/core'; import { SelectQueryBuilder } from 'typeorm'; import { User } from '../models/entities/user.entity'; import { BaseRepository } from './base.repository'; export declare class UserRepository extends BaseRepository { constructor(); getUsers(params?: TPagedParams): Promise>; getUserById(id: number): Promise; getUserByEmail(email: string): Promise; getUserBySlug(slug: string): Promise; handleUserInput(user: User, userInput: TUpdateUser, action: 'update' | 'create'): Promise; createUser(createUser: TCreateUser, id?: number | null, passwordType?: 'hash' | 'plain'): Promise; hashPassword(password: string): Promise; updateUser(id: number, updateUser: TUpdateUser): Promise; deleteUser(id: number): Promise; applyUserFilter(qb: SelectQueryBuilder, filterParams?: TUserFilter): Promise; getFilteredUsers(pagedParams?: TPagedParams, filterParams?: TUserFilter): Promise>; deleteManyFilteredUsers(input: TDeleteManyInput, filterParams?: TUserFilter): Promise; } //# sourceMappingURL=user.repository.d.ts.map