import { TradechatServer } from "../tradechat-server"; import { TradechatUser, Penalty, FmeUser, LiteUser } from "./user-models"; export { TradechatUser }; import { Collection } from "mongodb"; export declare class TradechatUserController { tradechatServer: TradechatServer; usersOnline: TradechatUser[]; userDb: Collection; allUsers: TradechatUser[]; bannedUsers: string[]; kickedUsers: string[]; constructor(tradechatServer: TradechatServer); init: () => Promise; fixDb: () => Promise; create: (email: string, password: string, username: string) => Promise; changePassword: (user: FmeUser, password: string) => Promise; liteUser: (user: FmeUser) => LiteUser; generatePassword: (password: string) => any; initKickedUsers: () => Promise; initBannedUsers: () => Promise; addKickedUser: (user: TradechatUser, penalty: Penalty) => Promise; addBannedUser: (user: TradechatUser, penalty: Penalty) => Promise; addLoginLog: (user: TradechatUser, source: string, ippadr: string) => Promise; addAdminLog: (user: FmeUser, source: string, message: string) => Promise; isKicked: (user: TradechatUser) => boolean | undefined; isBanned: (user: TradechatUser) => boolean | undefined; getAllByRoom: (roomName: string) => Promise; get: (user: FmeUser) => Promise; getById: (id: string) => Promise; getByStripeId: (id: string) => Promise; getByEmail: (email: string) => Promise; checkPassword: (password: string, user: FmeUser) => boolean; convertFmeUser: (user: FmeUser) => TradechatUser; findUserSockets: (user: TradechatUser) => TradechatUser | undefined; findUserBySocketIdIndex: (socketId: string) => number; addUserOnline: (user: TradechatUser, socketId: string) => void; removeUserBySocket: (socket: any) => void; update: (user: FmeUser) => Promise; updateById: (user: FmeUser) => Promise; isOnline: (user: TradechatUser) => boolean; getOnlineById: (id: string) => TradechatUser | null; sendAddUserToRoom: (socket: any, room: string) => void; bindUserToSocket: (socket: any, user: TradechatUser) => any; addSocketToRooms: (socket: any) => any; kickUser: (user: TradechatUser, reason: string, penalty: number, admin: TradechatUser) => Promise; banUser: (user: TradechatUser, reason: string, admin: TradechatUser) => Promise; isValidUser: (user: TradechatUser) => Promise; remove: (user: FmeUser) => Promise; removeByEmail: (email: string) => Promise; removeById: (id: string) => Promise; }