import { ChangeDetectorRef, ElementRef, OnInit } from '@angular/core';
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
import { GlobalStateService } from 'tango-app-ui-global';
import { TraxService } from '../../services/trax.service';
import { NgbActiveModal, NgbModal } from '@ng-bootstrap/ng-bootstrap';
import { Router } from '@angular/router';
import { Answer, AnswerForm, AnswerType, HeaderFilter, Question, QuestionForm, Section, SectionForm, TaskForm, ValidationType } from './create-task.interface';
import { ToastService } from 'tango-app-ui-shared';
import dayjs from "dayjs";
import { TimePeriod } from 'ngx-daterangepicker-material/daterangepicker.component';
import * as i0 from "@angular/core";
export declare class AddTaskComponent implements OnInit {
    private fb;
    private activeModal;
    private gs;
    private traxService;
    private cd;
    private modalService;
    private router;
    private toastService;
    taskForm: FormGroup<TaskForm>;
    type: any;
    sourceCheckList_id: any;
    submitted: boolean;
    headerData: HeaderFilter | null | undefined;
    answerTypes: {
        label: string;
        value: AnswerType;
    }[];
    validationTypes: {
        label: string;
        value: ValidationType;
    }[];
    environment: any;
    taskContainer: HTMLElement | null;
    private destroy$;
    taskDetails: any;
    inputData: any;
    checklistInfo: any;
    storeProfile: any;
    sectionInfo: any;
    operationtype: any;
    userAnswerItem: any;
    get displayedUserAnswers(): any[];
    clientId: any;
    timeDetails: any;
    userType: any;
    constructor(fb: FormBuilder, activeModal: NgbActiveModal, gs: GlobalStateService, traxService: TraxService, cd: ChangeDetectorRef, modalService: NgbModal, router: Router, toastService: ToastService);
    ngOnInit(): void;
    tasks: number[];
    taskCounter: number;
    updateForm(): void;
    cancel(): void;
    onSubmit(): void;
    createForm(): void;
    addSectionForm(section?: Section): void;
    addQuestionForm(question: Question, sectionIndex: number, insertIndex?: number): void;
    addAnswerForm(answer: Answer, sectionIndex: number, questionIndex: number, insertIndex?: number): void;
    get getSections(): FormArray<FormGroup<SectionForm>>;
    getQuestions(sectionIndex: number): FormArray<FormGroup<QuestionForm>>;
    isInvalidAnswer(secIdx: number, qnIdx: number): boolean;
    getAnswers(sectionIndex: number, questionIndex: number): FormArray<FormGroup<AnswerForm>>;
    uploadFile(event: any, sectionIndex: number, questionIndex: number, answerIndex?: number): void;
    closeDropdown(event: MouseEvent): void;
    openDropdown(event: MouseEvent): void;
    selectedItem: any;
    dropDown: boolean;
    currentTime: string;
    updateCurrentTime(): void;
    isDisabled(time: string): boolean;
    selectItem(value: any): void;
    onAnswerDelete(sectionIndex: number, questionIndex: number, answerIndex: number): void;
    onValidateResponseChange(event: any, sectionIndex: number, questionIndex: number, answerIndex: number): void;
    addNewAnswer(sectionIndex: number, questionIndex: number, type: AnswerType): void;
    onQuestionChange(event: any, sectionIndex: number, questionIndex: number): void;
    selectedDate: any;
    dayjs: typeof dayjs;
    isCustomDate: (m: dayjs.Dayjs) => false | "invalid-date";
    onStartDateChange(event: any): void;
    datechange(event: TimePeriod): void;
    uploadedFiles: File[];
    selectedFile?: File;
    previewUrl?: any;
    fileInput: ElementRef;
    removeImage(index: any): void;
    updateLinearTypeRange(event: any, sectionIndex: number, questionIndex: number): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AddTaskComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AddTaskComponent, "lib-add-task", never, { "type": { "alias": "type"; "required": false; }; "sourceCheckList_id": { "alias": "sourceCheckList_id"; "required": false; }; "taskDetails": { "alias": "taskDetails"; "required": false; }; "inputData": { "alias": "inputData"; "required": false; }; "checklistInfo": { "alias": "checklistInfo"; "required": false; }; "storeProfile": { "alias": "storeProfile"; "required": false; }; "sectionInfo": { "alias": "sectionInfo"; "required": false; }; "operationtype": { "alias": "operationtype"; "required": false; }; "userAnswerItem": { "alias": "userAnswerItem"; "required": false; }; }, {}, never, never, false, never>;
}
