import { ElementRef, OnInit, EventEmitter } from '@angular/core';
import { DatePickerComponent, IDatePickerConfig } from 'ng2-date-picker';
import { CommonService } from '../../../services/common.service';
import { FrequencyService } from '../../../sharedComponents/frequency/frequency.service';
import { DateUtilityService } from '../../services/date-utility.service';
import * as i0 from "@angular/core";
export declare class DueDateComponent implements OnInit {
    private commonDateService;
    private frequencyService;
    private dateUtilityService;
    datePicker: DatePickerComponent;
    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;
    };
    animation: boolean;
    datePickerPopUp: ElementRef;
    datePickerOverlay: boolean;
    dateConfig: IDatePickerConfig;
    commonService: any;
    dueDateTexts: {
        case_type: string;
        report_case: string;
        add_case: string;
        default_flow: string;
        receive_updates: string;
        case_details: {
            name: {
                title: string;
                placeholder: string;
            };
            description: {
                title: string;
                placeholder: string;
            };
            rc: {
                title: string;
                placeholder: string;
                singularText: string;
                pluralText: string;
                mainRcPlaceholder: string;
                separateRcText: string;
                separateRcTooltip: string;
                sameRcText: string;
                sameRcTooltip: string;
            };
            case_type: {
                title: string;
                placeholder: string;
            };
            category: {
                title: string;
                placeholder: string;
            };
            additional_category: {
                title: string;
                placeholder: string;
            };
            when: {
                title: string;
                placeholder: string;
            };
            priority: {
                title: string;
                placeholder: string;
            };
            attachments: {
                title: string;
                placeholder: string;
            };
            due_date: {
                title: string;
                placeholder: string;
                deadline_placeholder: string;
                disabledText: string;
                helpText: string;
            };
            assignees: {
                title: string;
                placeholder: string;
                helpText: string;
            };
            owners: {
                title: string;
                placeholder: string;
                helpText: string;
                disabledText: string;
            };
        };
        tooltipMessage: {
            report_case: string;
            add_case: string;
            receive_updates: string;
            rc: string;
            workflow: string;
        };
        errorMessage: {
            rc: string;
            name: string;
            description: string;
            caseType: string;
            reportDate: string;
            priority: string;
            mainRc: string;
            caseOwner: string;
            caseAssignee: string;
            dueDate: string;
            stageAssignee: string;
            caseResolutionDeadline: string;
        };
    };
    helperText: {
        transition_status: string;
        assignee: string;
        deadline: string;
    };
    assigneeClicked: boolean;
    assigneeList: any[];
    assigneeData: {
        [key: number]: any[];
    };
    currentStageIndex: number;
    activeAssignee: any[];
    emailReminder: number;
    escalationEmail: number;
    showError: boolean;
    showAssigneeError: boolean;
    CaseDeadlineWarning: string;
    payload: any;
    dueDate: any;
    workflowDetails: any;
    userList: any[];
    groupList: any[];
    mode: string;
    set initialSelection(value: any);
    min: string;
    taskCount: number;
    validDeadline: string;
    closeDueDateResolution: EventEmitter<any>;
    closeDueDateEvent: EventEmitter<any>;
    constructor(commonDateService: CommonService, frequencyService: FrequencyService, dateUtilityService: DateUtilityService);
    ngOnInit(): void;
    private initializeEditMode;
    private initializeDeadlineValues;
    private initializeStageAssignees;
    private setMinDate;
    private createStageAssigneeMap;
    private mapWorkflowStages;
    openDatePicker(): void;
    /**
     * closes the date picker from policy form
     */
    closeDatePicker(evt: any): void;
    closeDueDate(): void;
    activateSelector(active: boolean, stageIndex?: number): void;
    setAssigneeList(): void;
    getAssignees(): any[];
    getUserGroups(user: any): any[];
    getGroupAssignees(): any[];
    findGroupById(groupId: string): any;
    getAssigneesFromGroup(group: any): any[];
    findUserById(userId: string): any;
    getUniqueAssignees(directAssignees: any[], groupAssignees: any[]): any[];
    selectedAssignee(event: any[]): void;
    saveCaseResolutionDeadline(): void;
    isDueDateValid(): boolean;
    areAssigneesValid(): boolean;
    formatDueDate(date: any): string;
    setDeadlineReminders(): void;
    setStagesAssignees(): any[];
    createStageAssignee(stage: any, assigneeData: any[]): any;
    setPayload(): void;
    documentClick(event: any): void;
    onInputChange(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DueDateComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DueDateComponent, "app-due-date", never, { "payload": { "alias": "payload"; "required": false; }; "dueDate": { "alias": "dueDate"; "required": false; }; "workflowDetails": { "alias": "workflowDetails"; "required": false; }; "userList": { "alias": "userList"; "required": false; }; "groupList": { "alias": "groupList"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "initialSelection": { "alias": "initialSelection"; "required": false; }; "min": { "alias": "min"; "required": false; }; "taskCount": { "alias": "taskCount"; "required": false; }; "validDeadline": { "alias": "validDeadline"; "required": false; }; }, { "closeDueDateResolution": "closeDueDateResolution"; "closeDueDateEvent": "closeDueDateEvent"; }, never, never, false, never>;
}
