import { EventEmitter, OnInit } from '@angular/core';
import { EditorConfig } from 'vcomply-editor';
import { Configurations } from '../configurations';
import { CategoryList } from '../interfaces/categoryList';
import { FrequencyService } from '../sharedComponents/frequency/frequency.service';
import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
import { AddRiskService } from '../workflow-services/add-risk.service';
import { AuthService } from '../workflow-services/auth.service';
import { UiKitService } from '../workflow-services/ui-kit.service';
import { GrcService } from '../workflow/shared/services/grc.service';
import { Subscription } from 'rxjs';
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
import { IframeService } from '../services/iframe.service';
import * as i0 from "@angular/core";
export declare class WorkflowRiskComponent implements OnInit {
    private riskService;
    private authService;
    private uiKitService;
    private snackBar;
    private frequencyService;
    private grcService;
    private organizationCommonService;
    private iframeService;
    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;
    };
    GRC_TYPE_ARRAY: string[];
    responsibilityCentersList: any;
    selectedResponsibilityCenters: any;
    mitigationDetails: any;
    ownersList: any;
    nonRemovableUsersList: any;
    editDetails: any;
    smileyMessage: string;
    riskData: any;
    actionButtons: {
        buttonText: string;
        class: string;
        id: string;
    }[];
    sideSelectorElements: any;
    showSmiley: boolean;
    feature: any;
    mode: string;
    riskId: string;
    defaultRiskType: string;
    moveToRegisterMode: string;
    secondaryOpenPortal: string;
    showConfirmationAlert: EventEmitter<any>;
    pickerChanged: EventEmitter<any>;
    populateOption: EventEmitter<any>;
    closeWorkflow: EventEmitter<any>;
    disconnectRefresh: EventEmitter<any>;
    refreshForm: EventEmitter<any>;
    hideElementsFromMoreOptions: EventEmitter<any>;
    rcSelected: EventEmitter<any>;
    openedFrom: string;
    scrollToBottom: boolean;
    categoryList: CategoryList;
    overseersList: any;
    overseersGroupList: any;
    adminsList: any;
    overseersIdList: any;
    timezone: string;
    date: Date;
    riskNameFocus: boolean;
    assessmentFocus: boolean;
    riskTypeChangeAllowed: boolean;
    riskForm: any;
    apiUrl: string;
    memberId: number;
    organizationId: number;
    usersListLoaded: boolean;
    adminsListLoaded: boolean;
    categoryListLoaded: boolean;
    rcListLoaded: boolean;
    submitted: boolean;
    frequencyDetails: {
        frequency: string;
        started_at: string;
        frequency_time: string;
        remind_before_days: number;
        failed_after_days: number;
        can_assess_before_days: number;
    };
    frequencyPlaceholder: string;
    shortMonth: Array<string>;
    settingsInfo: any;
    loader: boolean;
    activeSelector: string;
    currentTimeStamp: number;
    featureflag_groups: boolean;
    groupsList: any;
    otherGRCCard: any;
    riskLabelList: any;
    otherGRCSubscription: Subscription;
    grcList: any;
    grcLoader: boolean;
    selectedGRCTab: number;
    grcDataWithTypes: any;
    grcSearchString: string;
    grcTabLoader: boolean;
    settingLoader: boolean;
    constructor(riskService: AddRiskService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, frequencyService: FrequencyService, grcService: GrcService, organizationCommonService: OrganizationCommonService, iframeService: IframeService, config?: Configurations);
    description: EditorConfig;
    mitigationDescriptionPlan: EditorConfig;
    ngOnInit(): void;
    _initiateAPIs(): void;
    initiateEditAPI(): void;
    addCurrentUser(): void;
    initializeRiskType(): void;
    getGroupList(): void;
    setRiskTypeBasedOnSubscription(): void;
    changeRisk(type: string): void;
    getCurrentlyLoggedInUser(): number[];
    setPopupButtons(): void;
    getRiskDetails(riskId: any): void;
    populateOptionalFields(): void;
    setCategoryType(type: any): "strategic" | "compliance" | "operational" | "others";
    getRCList(): void;
    getCategoryList(): void;
    getOwnersList(): void;
    getAdminsList(): void;
    getSettingsInfo(): void;
    hideOptionalFields(res: any): void;
    checkWhetherAllListsLoaded(): void;
    setOverseersList(): void;
    activateSelector(type: any, event: boolean): void;
    activeDeselector(): void;
    remove(type: any, event: any, index?: number): void;
    saveSelectedRCList(rcIds: any): void;
    saveSelectedCategory(category: any): void;
    saveSelectedOwnersList(ids: any): void;
    saveSelectedOverseersList(ids: any): void;
    changeRiskAssessment(name: string): void;
    setDate(days: number): void;
    changeRiskAssessmentDeadline(event: number): void;
    setList(list: any[], ids: any[], key: string): any;
    returnIds(list: any[], key: string): any[];
    submitRisk(): false | undefined;
    addMoreInfo(event: any): void;
    validateRisk(): boolean;
    createRisk(riskForm: any): void;
    resetForm(): void;
    action(event: string): void;
    closeSmiley(event: any): void;
    viewRisks(): void;
    redirectToReported(): void;
    checkDescription(): void;
    checkMitigationPlan(): void;
    frequencyData(event: any): void;
    getFrequencyPlaceholder(res: any): void;
    /**
     * It takes a frequencyDetails array and a frequencyTime string and returns a frequencyPlaceholder
     * string.
     * @param {any} frequencyDetails - ["1", "1,2,3,4,5", "1", "1", "1", "1", "1", "1", "1", "1", "1",
     * "1", "1", "1", "1", "1", "1", "
     * @param {any} frequencyTime - "10:00 AM"
     */
    getWeeklyPlaceholder(frequencyDetails: any, frequencyTime: any): void;
    /**
     * It takes a string of comma separated numbers and returns a string of comma separated month names.
     * @param {any} frequencyDetails - ["1", "1", "1,2,3,4,5,6,7,8,9,10,11,12"]
     * @param {any} frequencyTime - "10:00 AM"
     */
    getMonthlyPlaceholder(frequencyDetails: any, frequencyTime: any): void;
    /**
     * If the frequencyDetails[1] is less than 2, then the frequencyPlaceholder is set to the 1st, 2nd,
     * 3rd, or nth of every month by frequencyTime.
     *
     * If the frequencyDetails[1] is greater than 1, then the frequencyPlaceholder is set to the 1st,
     * 2nd, 3rd, or nth of every month, Interval: every yearSequence years by frequencyTime.
     *
     * I'm trying to write a test that will test the above function.
     *
     * Here's what I have so far:
     * @param {any} frequencyDetails - [0] = "Yearly"
     * @param {any} frequencyTime - "10:00 AM"
     */
    getYearlyPlaceholder(frequencyDetails: any, frequencyTime: any): void;
    /**
     * If the frequencyDetails[1] is 1, 2, 3, 21, 22, 23, or greater than 3, then set the
     * frequencyPlaceholder to a string that includes the frequencyDetails[1] and the frequencyTime.
     * @param {any} frequencyDetails - ["3", "1", "1,2,3"]
     * @param {any} frequencyTime - "10:00 AM"
     */
    getQuarterlyPlaceholder(frequencyDetails: any, frequencyTime: any): void;
    /**
     * It takes a string of comma separated numbers and returns a string of comma separated month names.
     * @param {any} frequencyDetails - ["1", "1", "1,2,3,4,5,6,7,8,9,10,11,12"]
     * @param {any} frequencyTime - "10:00 AM"
     */
    getBiannualPlaceholder(frequencyDetails: any, frequencyTime: any): void;
    /**
     * It takes an event object, and if it exists, it creates a new object with the same properties as
     * the event object, and assigns it to the frequencyDetails property.
     *
     * If the event object is undefined, then the frequencyDetails property will be undefined.
     *
     * If the event object is null, then the frequencyDetails property will be null.
     *
     * If the event object is an empty object, then the frequencyDetails property will be an empty
     * object.
     *
     * If the event object is an object with properties, then the frequencyDetails property will be an
     * object with the same properties.
     *
     * If the event object is an object with properties, but some of those properties are undefined, then
     * the frequencyDetails property will be an object with the same properties, but some of those
     * properties will be undefined.
     *
     * If the event object is an object with properties, but some of those properties are null, then the
     * @param {any} event - any = {
     */
    frequencyDataPopulate(event: any): void;
    /**
     * The function `getOtherGRCTabCount` retrieves the count of different types of items (assets,
     * processes, vendors, inventory) and updates the corresponding tabs with the count.
     * @param {any} [event] - The "event" parameter is an optional parameter that can be passed to the
     * "getOtherGRCTabCount" function. It is of type "any", which means it can accept any data type.
     */
    getOtherGRCTabCount(event?: any): void;
    getAllRCIds(rcIds: any): any;
    getOtherGRCObjects(event?: any): void;
    saveSelectedList(event: any): void;
    setOtherGRCTypesFormate(): void;
    removeOtherGRCObjects(event: any): void;
    filterOtherGRCData(event: any, type: string): void;
    resetGRCDataWithTypes(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<WorkflowRiskComponent, [null, null, null, null, null, null, null, null, { optional: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<WorkflowRiskComponent, "app-workflow-risk", never, { "feature": { "alias": "feature"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "riskId": { "alias": "riskId"; "required": false; }; "defaultRiskType": { "alias": "defaultRiskType"; "required": false; }; "moveToRegisterMode": { "alias": "moveToRegisterMode"; "required": false; }; "secondaryOpenPortal": { "alias": "secondaryOpenPortal"; "required": false; }; "openedFrom": { "alias": "openedFrom"; "required": false; }; }, { "showConfirmationAlert": "showConfirmationAlert"; "pickerChanged": "pickerChanged"; "populateOption": "populateOption"; "closeWorkflow": "closeWorkflow"; "disconnectRefresh": "disconnectRefresh"; "refreshForm": "refreshForm"; "hideElementsFromMoreOptions": "hideElementsFromMoreOptions"; "rcSelected": "rcSelected"; }, never, never, false, never>;
}
