import { AuthService } from '../workflow-services/auth.service';
import { LogIssueService } from '../workflow-services/log-issue.service';
import { EventEmitter, OnInit, OnChanges, AfterViewInit, ChangeDetectorRef, ElementRef } from '@angular/core';
import { EditorConfig } from 'vcomply-editor';
import { DatePickerComponent } from 'ng2-date-picker';
import { UiKitService } from '../workflow-services/ui-kit.service';
import { SnackBarService } from '../ui-kit/snack-bar/snack-bar.service';
import { IssueConfiguration } from '../interfaces/issue-data';
import { CommonService } from '../services/common.service';
import { OrganizationUserService } from '../workflow-services/organization-user.service';
import { OrganizationCommonService } from '../workflow-services/common-workflow-services/organization-common.service';
import { ComplianceCommonService } from '../workflow-services/common-workflow-services/compliance-common.service';
import { IframeService } from '../services/iframe.service';
import * as i0 from "@angular/core";
export declare class LogAnIssueComponent implements OnInit, OnChanges, AfterViewInit {
    private logService;
    private authService;
    private uiKitService;
    private snackBar;
    private commonService;
    private changeDetectorRef;
    private organizationUserService;
    private organizationCommonService;
    private complianceCommonService;
    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;
    };
    openedFrom: any;
    source: 'SAP' | 'WORKROOM' | '';
    issueId: any;
    reponsibilityData: any;
    assessmentQuestion: any;
    issueDetails: {
        auditPlanId: null;
        auditPlanName: string;
        rcId: null;
        auditObjId: null;
    };
    mode: string;
    config: IssueConfiguration;
    responsibilitiesData: any;
    pickerChanged: EventEmitter<any>;
    populateOption: EventEmitter<any>;
    closeWorkflow: EventEmitter<any>;
    modeChange: EventEmitter<any>;
    disconnectRefresh: EventEmitter<any>;
    datePicker: DatePickerComponent;
    datePickerPopUp: ElementRef;
    currentUser: any;
    scrollToBottom: boolean;
    datePickerOverlay: boolean;
    showDateError: boolean;
    selectedDate: any;
    showSmiley: boolean;
    loader: boolean;
    smileyMessage: string;
    issueData: any;
    isRiskControlLoading: boolean;
    linkText: string;
    actionButtons: any[];
    createdData: any;
    description: EditorConfig;
    dateConfig: {
        disableKeypress: boolean;
        format: string;
        unSelectOnClick: boolean;
        openOnClick: boolean;
        openOnFocus: boolean;
        min: string;
    };
    listData: any;
    DEFAULT_TIME: string;
    get message(): string;
    get displayActionButtons(): any[];
    logIssueForm: any;
    AttachmentTrack: any;
    additionalOptionStatus: any;
    riskClassification: {
        name: string;
        value: number;
        class: string;
    }[];
    riskPrority: {
        name: string;
        value: number;
        class: string;
    }[];
    sideSelectorElements: any;
    selectorConfig: {
        ISSUE_CATGORY: {
            panelTitle: string;
            floatingTextSingular: string;
            searchPlaceholder: string;
            searchEnabled: boolean;
            noDataText: string;
        };
        ISSUE_RC: {
            panelTitle: string;
            floatingTextSingular: string;
            floatingTextPlural: string;
            searchPlaceholder: string;
            searchEnabled: boolean;
            noDataText: string;
            selectAllEnabled: boolean;
        };
        ISSUE_WHO: {
            panelTitle: string;
            floatingTextSingular: string;
            searchPlaceholder: string;
            searchEnabled: boolean;
            noDataText: string;
        };
        ISSUE_TYPE: {
            panelTitle: string;
            floatingTextSingular: string;
            searchPlaceholder: string;
            searchEnabled: boolean;
            noDataText: string;
        };
        ISSUE_CC: {
            panelTitle: string;
            floatingTextSingular: string;
            searchPlaceholder: string;
            searchEnabled: boolean;
            selectAllEnabled: boolean;
            noDataText: string;
        };
        ISSUE_FCC: {
            panelTitle: string;
            floatingTextSingular: string;
            searchPlaceholder: string;
            searchEnabled: boolean;
            selectAllEnabled: boolean;
            noDataText: string;
        };
    };
    fieldsWithError: any;
    activeField: string;
    activeSelector: string;
    listLoadingStatus: any[];
    currentTime: string;
    /**
     * isRCPreSelected,isRCVisible are variable used to set the visibility of rc field and edit button in certain conditions
     */
    isRCPreSelected: boolean;
    isRCVisible: boolean;
    isRCMandatory: boolean;
    dataForEdit: any;
    isRiskControlVisible: boolean;
    isFutureDate: boolean;
    isLinkResponsibility: boolean;
    isLinkAssessment: boolean;
    isLinkRC: boolean;
    isRCEditable: boolean;
    isLinkQuestionVisible: boolean;
    constructor(logService: LogIssueService, authService: AuthService, uiKitService: UiKitService, snackBar: SnackBarService, commonService: CommonService, changeDetectorRef: ChangeDetectorRef, organizationUserService: OrganizationUserService, organizationCommonService: OrganizationCommonService, complianceCommonService: ComplianceCommonService, iframeService: IframeService);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    ngOnChanges(): void;
    _initiateAPI(): void;
    _initiateEditAPI(): void;
    decideRCmandatory(): void;
    setCurrentTime(): void;
    getCurrentTime(): string;
    setRcEditable(): void;
    setLink(): void;
    setUserDetails(): void;
    fetchIssueTypes(): void;
    fetchUserList(): void;
    fetchCategoryList(): void;
    fetchRCList(): void;
    setSelectedRC(): void;
    fetchControlRisks(): void;
    getLinkage(auditId: any, type: string): void;
    /**
     * This functioj check weather all the required lists are loaded
     * If loaded hides the loader otherwise shows the loader.
     */
    checkAllListLoaded(): void;
    /**
     * Removes error from the fields with error to remove the error messag from the UI
     * @param errorKey error Identifier used to show error in specific fields.
     */
    removeError(errorKey: string): void;
    openDatePicker(): void;
    closeDatePicker(evt: any): void;
    setActiveFieldSelector(activeField: string, activeSelector?: string): void;
    fieldDeselector(type: any): void;
    selectorAction(evt: any, type: any): void;
    deleteItem(type: any, element: any): void;
    getRcId(rc: any): any;
    getRCData(evt: any): void;
    assignMyself(event: any): void;
    setException(type: any): void;
    setEvidence(type: any): void;
    setIssueType(type: any): void;
    addMoreInfo(event: any): void;
    idToArray(selectedItems: any, listItems: any, filterkey: any): any;
    selectFile(type: string, files: any): void;
    uploadFile(file: any, type: string): void;
    deleteFile(file: any, type: string): void;
    handleIssueIdFromResponse(res: any): void;
    addIssue(): void;
    closeSmiley(evt?: any): void;
    /**
     * Closes workflow engine
     * @param evt
     * @param confirm
     */
    closeWorkFlow(evt: any, confirm: any): void;
    action(evt: any): void;
    viewIssue(): void;
    /**
     * Populate the tickmark of optional fields
     */
    populateOptionalFields(): void;
    /**
     * Fetchs issue details when in edit mode based on the input id passed
     */
    fetchIssueDetails(): void;
    /**
     * Populates the issue form when in edit mode
     * @param issueData issue data fetched from API
     */
    populateForm(issueData: any): Promise<void>;
    /**
     * Sets the visibility of optional fields
     * @param issueData  issue data fetched from API
     */
    setOptionalField(issueData: any): void;
    /**
     * Generates list of selected overseer
     * @param allUserList list of all users in the organzation
     * @param overseerList  lit of the overseer that needs to be filtered
     * @returns  list of array containing the users objects
     */
    generateOverseerList(allUserList: any, overseerList: any): any;
    /**
     * Resets issue form
     */
    resetIssueForm(): void;
    checkDescription(): void;
    onTimeChanged(event: any): void;
    validateDate(time: string, dateString: any): boolean;
    get getDateValidationMessage(): string;
    documentClick(event: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<LogAnIssueComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<LogAnIssueComponent, "app-log-an-issue", never, { "openedFrom": { "alias": "openedFrom"; "required": false; }; "source": { "alias": "source"; "required": false; }; "issueId": { "alias": "issueId"; "required": false; }; "reponsibilityData": { "alias": "reponsibilityData"; "required": false; }; "assessmentQuestion": { "alias": "assessmentQuestion"; "required": false; }; "issueDetails": { "alias": "issueDetails"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "config": { "alias": "config"; "required": false; }; "responsibilitiesData": { "alias": "responsibilitiesData"; "required": false; }; }, { "pickerChanged": "pickerChanged"; "populateOption": "populateOption"; "closeWorkflow": "closeWorkflow"; "modeChange": "modeChange"; "disconnectRefresh": "disconnectRefresh"; }, never, never, false, never>;
}
