///
import { IncomingMessage } from "http";
import { Repository } from "typeorm";
import { StoreComponent } from "../interface/store.component";
import { UnionUserInfo } from "../interface/user/union.user.info";
import { Func } from "../model/func.entity";
import { InfoGroup } from "../model/info.group.entity";
import { InfoItem } from "../model/info.item.entity";
import { Organization } from "../model/organization.entity";
import { Permission } from "../model/permission.entity";
import { Role } from "../model/role.entity";
import { User } from "../model/user.entity";
import { UserInfo } from "../model/user.info.entity";
export declare class UserService {
private readonly storeComponent;
private readonly funcRepository;
private readonly roleRepository;
private readonly userRepository;
private readonly userInfoRepository;
private readonly infoGroupRepository;
private readonly permissionRepository;
private readonly organizationRepository;
constructor(storeComponent: StoreComponent, funcRepository: Repository, roleRepository: Repository, userRepository: Repository, userInfoRepository: Repository, infoGroupRepository: Repository, permissionRepository: Repository, organizationRepository: Repository);
getUserById(id: number): Promise<{
id: number;
userName: string;
status: boolean;
recycle: boolean;
} | undefined>;
getUserByName(userName: string): Promise;
getAll(): Promise>;
getFreedomUsers(): Promise>;
getRecycleUsers(): Promise>;
userInfos(id: number): Promise>;
roles(id: number): Promise>;
permissions(id: number): Promise>;
createUser(organizationId: number, userName: string, password: string): Promise;
createUserWithUserInfo(req: IncomingMessage, organizationId: number, userName: string, password: string, groups: Array<{
groupId: number;
infos: Array;
}>): Promise;
addUserInfoToUser(req: IncomingMessage, id: number, groups: Array<{
groupId: number;
infos: Array;
}>): Promise;
addUserInfosAndInfoItems(req: IncomingMessage, user: User, group: InfoGroup, infos: Array): Promise;
transfromInfoValue(req: IncomingMessage, match: InfoItem, info: UnionUserInfo): Promise;
updateUser(id: number, userName: string, password: string): Promise;
bannedUser(id: number): Promise;
unBannedUser(id: number): Promise;
softDeleteUser(id: number): Promise;
restoreUser(id: number): Promise;
restoreUsers(ids: Array): Promise;
deleteUser(id: number): Promise;
deleteUsers(ids: Array): Promise;
setRoles(id: number, roleIds: Array): Promise;
setPermissions(id: number, permissionIds: Array): Promise;
}