import { OnChanges, OnInit, SimpleChanges } from '@angular/core';
import { STChange, STColumn, STComponent, STData } from '@delon/abc';
import { Observable } from 'rxjs';
import { ACLService } from '@delon/acl';
import { DEF } from '../../../../api/index';
import { NzMessageService } from 'ng-zorro-antd';
import { TranslateService } from '@ngx-translate/core';
/**
 * role list
 */
export declare class IdentityUserLocalRolesComponent implements OnInit, OnChanges {
    aclService: ACLService;
    private addUerRoleParam;
    private nzMessageService;
    private translateService;
    currentUser: DEF.Iwms.ApplicationUser | null;
    warehouse: string;
    st: STComponent;
    loading: boolean;
    saving: boolean;
    stDatas: Array<STData & DEF.Iwms.RolePermissions>;
    stColumns: Array<STColumn>;
    /** current user's original role names */
    originalUserRoleNames: Array<string>;
    /** current user's current checked role names, change when user check or uncheck any role */
    currentUserRoleNames: Array<string>;
    constructor(aclService: ACLService, addUerRoleParam: IAddUerRoleParamConfig, nzMessageService: NzMessageService, translateService: TranslateService);
    readonly isUserRolesChanged: boolean;
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    fetchRoles(): Observable<Array<DEF.Iwms.RolePermissions>>;
    handleRefresh(): void;
    updateUserRoles(): void;
    handleStChange($event: STChange): void;
    /**
     * fetch roles of current user
     */
    private fetchRolesByUser;
}
export interface IAddUerRoleParamConfig {
    key: string;
    value: string;
}
