import { ElementRef, OnDestroy, OnInit } from '@angular/core';
import { FormArray, FormBuilder, FormGroup } from '@angular/forms';
import { Answer, AnswerForm, AnswerType, HeaderFilter, ITask, Question, QuestionForm, Section, SectionForm, TaskForm, ValidationType } from './create-task.interface';
import { TraxService } from '../../services/trax.service';
import { Subject } from "rxjs";
import { GlobalStateService, PageInfoService } from 'tango-app-ui-global';
import { ToastService } from 'tango-app-ui-shared';
import { ActivatedRoute, Router } from '@angular/router';
import { NgbModal } from '@ng-bootstrap/ng-bootstrap';
import * as i0 from "@angular/core";
export declare class CreateTaskComponent implements OnInit, OnDestroy {
    private fb;
    private traxService;
    private toastService;
    private route;
    private router;
    private pageInfo;
    private dialog;
    private gs;
    destroy$: Subject<unknown>;
    taskForm: FormGroup<TaskForm>;
    taskDetails: ITask;
    headerData: HeaderFilter | null | undefined;
    selectedQuestion: FormGroup<QuestionForm> | undefined;
    answerTypes: {
        label: string;
        value: AnswerType;
    }[];
    validationTypes: {
        label: string;
        value: ValidationType;
    }[];
    currentTaskId: string;
    configureBtn: ElementRef;
    saveBtn: ElementRef;
    environment: any;
    userType: any;
    constructor(fb: FormBuilder, traxService: TraxService, toastService: ToastService, route: ActivatedRoute, router: Router, pageInfo: PageInfoService, dialog: NgbModal, gs: GlobalStateService);
    ngOnInit(): void;
    detach(detach: any): any;
    ngOnDestroy(): void;
    onSubmit(event: any): void;
    setPageData(): void;
    createForm(): void;
    updateForm(): void;
    updateIndexNumbers(): void;
    removeInvalidCharacters(formData: any): ITask & {
        checklistName: string;
        checklistDescription: string;
    };
    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>>;
    getAnswers(sectionIndex: number, questionIndex: number): FormArray<FormGroup<AnswerForm>>;
    uploadFile(event: any, sectionIndex: number, questionIndex: number, answerIndex?: number, imgIndex?: number): void;
    onQuestionClone(sectionIndex: number, questionIndex: number, question: FormGroup<QuestionForm>): void;
    onQuestionDelete(sectionIndex: number, questionIndex: number): void;
    onDeleteQuestionReferenceImage(sectionIndex: number, questionIndex: number, imageIndex: number): void;
    onDeleteAnswerReferenceImage(sectionIndex: number, questionIndex: number, answerIndex: number, imageIndex: number): void;
    onValidateResponseChange(event: any, sectionIndex: number, questionIndex: number, answerIndex: number): void;
    onAnswerDelete(sectionIndex: number, questionIndex: number, answerIndex: number): void;
    addNewAnswer(sectionIndex: number, questionIndex: number, type: AnswerType): void;
    addNewQuestion(sectionIndex: number, questionIndex: number): void;
    onQuestionChange(event: any, sectionIndex: number, questionIndex: number): void;
    updateLinearTypeRange(event: any, sectionIndex: number, questionIndex: number): void;
    selectQuestion(sectionIndex: number, questionIndex: number, question: FormGroup<QuestionForm>): void;
    getTask(id: string): void;
    onHover(question: FormGroup<QuestionForm>): void;
    onPopup(image: string): void;
    onDownload(): void;
    onDelete(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CreateTaskComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<CreateTaskComponent, "lib-create-task", never, {}, {}, never, never, false, never>;
}
