import { ListResponse, Response, Send, User } from "@rtcts/isomorphic"; import { FindOneOptions } from "mongodb"; import { Config } from "../app/Config"; import { Model } from "./Model"; import { MongoDBRepository } from "./MongoDBRepository"; export declare class UserModel extends Model { protected config: CONFIG; constructor(Entity: new (data: any) => ENTITY, repository: MongoDBRepository, sendThroughWebSocket: Send, config: CONFIG); getListResponse(offset?: number, limit?: number): Promise; getItemResponse(id: string, options?: FindOneOptions): Promise; createResponse(data: object, uid: string, wsid: string, excludeRequestingDevice?: boolean): Promise; updateResponse(data: object, uid: string, wsid: string, excludeRequestingDevice?: boolean): Promise; removeResponse(id: string, uid: string, wsid: string, excludeRequestingDevice?: boolean): Promise; updateLoginResponse(data: { [key: string]: any; }, uid: string, wsid: string): Promise; updatePasswordResponse(data: { [key: string]: any; }, uid: string, wsid: string): Promise; updateGroupResponse(ids: string[], group: string, uid: string, wsid: string, excludeRequestingDevice?: boolean, offset?: number, limit?: number): Promise; getUsers(offset?: number, limit?: number): Promise; getUserById(id: string): Promise; init(): Promise; signUp(data: { [key: string]: any; }, onlyCreate?: boolean): Promise; signIn(data: { [key: string]: any; }): Promise; updateLogin(data: { [key: string]: any; }, uid: string, wsid: string): Promise; updatePassword(data: { [key: string]: any; }, uid: string, wsid: string): Promise; updateGroup(ids: string[], group: string, uid: string, wsid: string, excludeRequestingDevice?: boolean, offset?: number, limit?: number): Promise; update(data: object, uid: string, wsid: string): Promise; }