import { HttpClient } from '@angular/common/http';
import { Injector } from '@angular/core';
import { OAuthService } from 'angular-oauth2-oidc';
import { ApplicationContextService } from '../app-context/application-context.service';
import { ModuleConfig } from '../configs/module-config';
import { BasicUserInfo } from '../models/basic-user-info';
import { Filter, GridInfo } from '../models/grid-info';
import { PageOptionBase } from '../models/page-option';
import { ResponseResult } from '../models/response-result';
import { TnUser } from '../models/tn-user';
import { BaseService } from './base.service';
import { ExceptionHandlerService } from './exception-handler.service';
import { ModuleConfigService } from './module-config.service';
import { SignalRService } from './signalr.service';
export declare class UserV5Service extends BaseService {
    private _oauthService;
    private _signalrService;
    private _exceptionHandlerService;
    private _applicationContext;
    entityName: string;
    readonly USER_INFO_KEY = "user_info";
    readonly CURRENT_USER_KEY = "current_user_info";
    readonly RETRY_COUNT: number;
    readonly REPLAY_COUNT: number;
    readonly DEFAULT_AVATAR_MALE: any;
    readonly DEFAULT_AVATAR_FEMALE: any;
    readonly organizationEndpoint: any;
    readonly _moduleConfig: ModuleConfig;
    constructor(injector: Injector, _moduleConfigService: ModuleConfigService, http: HttpClient, _oauthService: OAuthService, _signalrService: SignalRService, _exceptionHandlerService: ExceptionHandlerService, _applicationContext: ApplicationContextService);
    private getServiceUrl;
    private isUseOldOrganization;
    getAllWithInfo(filters: Filter[]): Promise<ResponseResult>;
    getPageWithInfo(gridInfo: GridInfo): Promise<ResponseResult>;
    getInfo(id: string): Promise<ResponseResult>;
    getInfoForWorkflow(id: string): Promise<ResponseResult>;
    getClaim(key: string): any;
    handleUserInfoChange(data: any): void;
    getForAutoComplete(key: string): Promise<ResponseResult>;
    populateCurrentUser(): void;
    getUserName(item: any): string;
    getProfileInfo(): any;
    isKhoaVien(idLoaiDonVi: any): boolean;
    isBoMon(idLoaiDonVi: any): boolean;
    getCurrentUser(): TnUser;
    getUserIdCombine(): string;
    getStaffInfo(userId: any): Promise<TnUser>;
    getId(): string;
    /**
     * Hàm chỉ phục vụ mục đích duy nhất là cho phép core cũ subcribe notification core mới
     */
    getInstanceId(): string;
    registerOnline(formData: FormData): Promise<ResponseResult>;
    getFullCanBoLabel(item: any, getDisplayName?: boolean): any;
    getBasicUserInfo(userId: number): Promise<BasicUserInfo>;
    getBasicUsersInfo(userIds: string): Promise<BasicUserInfo[]>;
    getBasicUserInfoByUserName(userName: string): Promise<BasicUserInfo>;
    getBasicUsersInfoByUserName(userNames: string): Promise<BasicUserInfo[]>;
    convertListUserIdToString(userIds: number[]): string;
    fillBasicUserInfo(dataSource: any[], propertyName: string, users: BasicUserInfo[]): any[];
    restorePassword(item: any): Promise<ResponseResult>;
    changePassword(userId: string, item: any): Promise<ResponseResult>;
    resetPassword(item: any): Promise<ResponseResult>;
    resetPasswordAll(): Promise<ResponseResult>;
    resetPasswordByIds(ids: string[]): Promise<ResponseResult>;
    GetsByManagerIdArrayId(id: string): Promise<ResponseResult>;
    markAsAdmin(userId: number, isAdmin: boolean): Promise<ResponseResult>;
    markAsRepresent(userId: number, isRepresent: number): Promise<ResponseResult>;
    getsByOrganizationListId(pageOption: PageOptionBase, funGetName?: string, optionParameter?: string, defaultParameter?: string): Promise<ResponseResult>;
    getsByOrganizationId(organizationId: string, keyword?: string, offset?: number, limit?: number): Promise<ResponseResult>;
    getDefaultAvatar(): any;
    handleError(error: any, injector: Injector): Promise<ResponseResult>;
    lockUser(item: any): Promise<ResponseResult>;
    unlockUser(item: any): Promise<ResponseResult>;
    isSuperUser(): boolean;
    isAdmin(): boolean;
    isValidAccessToken(): boolean;
    getUsersByGroupCode(groupCode: string): Promise<ResponseResult>;
    getServiceEndpoint(): string;
    isSinhVienAccount(): boolean;
    getPageUserInfo(userIds: string): Promise<BasicUserInfo[]>;
}
//# sourceMappingURL=user-v5.service.d.ts.map