import { OnInit, TemplateRef } from '@angular/core';
import { UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup } from '@angular/forms';
import { ModalTemplate, SuiModalService } from '@project-sunbird/ng2-semantic-ui';
import { MatrixQuestion, Question } from '../interfaces/questionnaire.type';
import { SlTranslateService } from '../services/translate.service';
import { SlUtilsService } from '../services/utils.service';
import * as i0 from "@angular/core";
export interface IContext {
    questions: Question[];
    heading: string;
    index: number;
}
export declare class MatrixQuestionsComponent implements OnInit {
    private translate;
    modalService: SuiModalService;
    fb: UntypedFormBuilder;
    private utils;
    onPopState(event: any): void;
    matrixTemplateRef: TemplateRef<any>;
    addText: string;
    submitText: string;
    cancelText: string;
    questionnaireForm: UntypedFormGroup;
    question: MatrixQuestion;
    matrixForm: UntypedFormGroup;
    modalTemplate: ModalTemplate<IContext, string, string>;
    context: IContext;
    showBadgeAssingModel: boolean;
    instanceLastUpdated: any[];
    matrix: TemplateRef<any>;
    constructor(translate: SlTranslateService, modalService: SuiModalService, fb: UntypedFormBuilder, utils: SlUtilsService);
    ngOnInit(): void;
    initializeMatrix(): void;
    instanceValidation(control: UntypedFormControl): {
        err: string;
    };
    addInstances(): void;
    viewInstance(i: any): void;
    get formAsArray(): UntypedFormArray;
    matrixSubmit(index: any): void;
    deleteInstanceAlert(index: any): Promise<void>;
    static ɵfac: i0.ɵɵFactoryDeclaration<MatrixQuestionsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<MatrixQuestionsComponent, "sl-matrix-questions", never, { "questionnaireForm": { "alias": "questionnaireForm"; "required": false; }; "question": { "alias": "question"; "required": false; }; }, {}, ["matrixTemplateRef"], never, false, never>;
}
