import { EventEmitter, OnDestroy, OnInit } from '@angular/core';
import { SearchPipe } from '../pipes/search.pipe';
import * as i0 from "@angular/core";
export declare class UserGroupListComponent implements OnInit, OnDestroy {
    ASSETS: {
        responsibility_center: string;
        case_type: string;
        case_category: string;
        when: string;
        what: string;
        case_resolution_deadline: string;
        case_assignees: string;
        format_evidence: string;
        case_owners: string;
        link_controls: string;
        link_items: string;
        spreadsheet_multiple_category: string;
        recommended_action: string;
        risks: string;
        exception_type: string;
        priority: string;
        associated_risks: string;
        oversight: string;
        add_risk_more_option: string;
        lables: string;
        reviewer: string;
        checkpoints: string;
        assessments: string;
        objectives: string;
        audit: string;
        roles: string;
        approval: string;
        recurring: string;
        lock_scope: string;
        custom_fields: string;
        link_risks: string;
        placeholder: string;
        add_logic: string;
        image_choice: string;
        logic_image_choice: string;
        thank_you_image: string;
        upload: string;
        select_users: string;
        everyone_as_per_category: string;
        bulb: string;
        enter_icon: string;
        im_creating: string;
        notes: string;
        attestations: string;
        risk_category: string;
        issue_type: string;
        type: string;
        search_data: string;
        approval_workflow: string;
        sequential: string;
        round_robin: string;
        anyone: string;
        collaborator: string;
    };
    save: EventEmitter<any>;
    cancel: EventEmitter<any>;
    groupEnabled: false;
    panelTitle: string;
    singleSelect: boolean;
    selectedReviewer: boolean;
    featureflag: boolean;
    reviewerWorkflowType: string;
    reviewerWorkflowTypeChange: EventEmitter<any>;
    mode: string;
    fieldType: string;
    searchKey: string;
    private searchSubject;
    private destroy$;
    isPagination: any;
    approvalWorkflowType: 'ANYONE' | 'ROUNDROBIN' | 'SEQUENTIAL';
    usersList: any;
    groupsList: any;
    fromResponsibility: any;
    assignorId: any[];
    assigneeIds: any[];
    reviewerIds: any[];
    overseerIds: any[];
    FromProgram: boolean;
    userListInfo: any;
    groupListInfo: any;
    fromApprovalWorkflow: boolean;
    set approvalType(value: 'ANYONE' | 'ROUNDROBIN' | 'SEQUENTIAL');
    showFutureUsersSwitch: boolean;
    futureUsersWillSelect: boolean;
    isAllDisabled: boolean;
    isGroupTabShow: boolean;
    fetchUserData: EventEmitter<any>;
    disabledIds: any;
    nonRemovableUserIds: any;
    allUserSelectedDisabled: boolean;
    selectedUsers: any;
    selectedUserIds: any;
    allUsersIds: any;
    allUserSelected: boolean;
    nonRemovableGroupIds: any;
    selectedGroups: any;
    selectedGroupIds: any;
    allGroupsIds: any;
    allGroupSelected: boolean;
    allGroupSelectedDisabled: boolean;
    searchPipe: SearchPipe;
    userCurrentPage: number;
    groupCurrentPage: number;
    loading: boolean;
    nonDisabledUsers: any[];
    set setUserList(value: any);
    set setSelectedUser(value: any);
    defaultSelectedUsers: any;
    defaultSelectedUserIds: any;
    set setDefaultSelectedUsers(value: any);
    userType: string;
    isPaginationEnabled: boolean;
    showConfirmation: boolean;
    setUserListInit(): void;
    allUserSelectedStatus(): void;
    set setGroupList(value: any);
    set setSelectedGroup(value: any);
    setGroupListInit(): void;
    allGroupSelectedStatus(): void;
    userPageChange(page: any): void;
    /**
     * #### Description
     * Selects item or deselect a itme
     * @param evt
     * @param payload
     */
    selectItem(evt: any, payload: any): void;
    selectItemRadio(evt: any, payload: any): void;
    /**
     * #### Description
     *
     * Manipulates selected items in role list
     * @param action :'ADD' | 'DELETE'
     * @param payload
     */
    manipulateSelectedUser(action: 'ADD' | 'DELETE', payload: any): void;
    selectAllUser(evt: any): void;
    /**
     * #### Description
     * Selects item or deselect a itme
     * @param evt
     * @param payload
     */
    selectGroup(evt: any, payload: any): void;
    /**
     * #### Description
     *
     * Manipulates selected items in role list
     * @param action :'ADD' | 'DELETE'
     * @param payload
     */
    manipulateSelectedGroup(action: 'ADD' | 'DELETE', payload: any): void;
    selectAllGroup(evt: any): void;
    animation: boolean;
    constructor();
    ngOnInit(): void;
    ngOnDestroy(): void;
    currentTab: string;
    switchTab(tab: string): void;
    saveList(): void;
    confirmAction(evt: 'YES' | 'NO'): void;
    closeList(): void;
    /**
     * #### Description
     *
     * Returns the unique array of object based on unique key
     * @param array
     * @param key
     * @returns
     */
    uniqueByProp(array: any, key: string): unknown[];
    paginationVisible(): void;
    workflowTypeChanged(event: string): void;
    disableUsers(): any[];
    setAllUsersSelected(event: any): void;
    onSearchKeyChange(searchKey: string): void;
    setupDebounceForUserSearch(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<UserGroupListComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UserGroupListComponent, "user-group-list", never, { "groupEnabled": { "alias": "groupEnabled"; "required": false; }; "panelTitle": { "alias": "panelTitle"; "required": false; }; "singleSelect": { "alias": "singleSelect"; "required": false; }; "selectedReviewer": { "alias": "selectedReviewer"; "required": false; }; "featureflag": { "alias": "featureflag"; "required": false; }; "reviewerWorkflowType": { "alias": "reviewerWorkflowType"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "fieldType": { "alias": "fieldType"; "required": false; }; "fromResponsibility": { "alias": "fromResponsibility"; "required": false; }; "assignorId": { "alias": "assignorId"; "required": false; }; "assigneeIds": { "alias": "assigneeIds"; "required": false; }; "reviewerIds": { "alias": "reviewerIds"; "required": false; }; "overseerIds": { "alias": "overseerIds"; "required": false; }; "FromProgram": { "alias": "FromProgram"; "required": false; }; "userListInfo": { "alias": "userListInfo"; "required": false; }; "groupListInfo": { "alias": "groupListInfo"; "required": false; }; "fromApprovalWorkflow": { "alias": "fromApprovalWorkflow"; "required": false; }; "approvalType": { "alias": "approvalType"; "required": false; }; "showFutureUsersSwitch": { "alias": "showFutureUsersSwitch"; "required": false; }; "futureUsersWillSelect": { "alias": "futureUsersWillSelect"; "required": false; }; "isAllDisabled": { "alias": "isAllDisabled"; "required": false; }; "isGroupTabShow": { "alias": "isGroupTabShow"; "required": false; }; "disabledIds": { "alias": "disabledIds"; "required": false; }; "nonRemovableUserIds": { "alias": "nonRemovableUserIds"; "required": false; }; "allUserSelectedDisabled": { "alias": "allUserSelectedDisabled"; "required": false; }; "nonRemovableGroupIds": { "alias": "nonRemovableGroupIds"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "setUserList": { "alias": "userlist"; "required": false; }; "setSelectedUser": { "alias": "selectedUsers"; "required": false; }; "setDefaultSelectedUsers": { "alias": "defaultSelectedUsers"; "required": false; }; "userType": { "alias": "userType"; "required": false; }; "isPaginationEnabled": { "alias": "isPaginationEnabled"; "required": false; }; "setGroupList": { "alias": "groupList"; "required": false; }; "setSelectedGroup": { "alias": "selectedGroups"; "required": false; }; }, { "save": "save"; "cancel": "cancel"; "reviewerWorkflowTypeChange": "reviewerWorkflowTypeChange"; "fetchUserData": "fetchUserData"; }, never, never, false, never>;
}
