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';
/**
 * role list
 */
export declare class IdentityUserRolesComponent implements OnInit, OnChanges {
    aclService: ACLService;
    private addUerRoleParam;
    currentUser: DEF.Identity.ApplicationUser | null;
    /** current user's current checked role names, change when user check or uncheck any role */
    currentUserRoleNames: Array<string>;
    loading: boolean;
    /** current user's original role names */
    originalUserRoleNames: Array<string>;
    saving: boolean;
    st: STComponent;
    stColumns: Array<STColumn>;
    stDatas: Array<STData & DEF.Identity.RolePermissions>;
    constructor(aclService: ACLService, addUerRoleParam: IAddUerRoleParamConfig);
    get isUserRolesChanged(): boolean;
    fetchRoles(): Observable<Array<DEF.Identity.RolePermissions>>;
    handleRefresh(): void;
    handleStChange($event: STChange): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngOnInit(): void;
    updateUserRoles(): void;
    /**
     * fetch roles of current user
     */
    private fetchRolesByUser;
}
export interface IAddUerRoleParamConfig {
    key: string;
    value: string;
}
