import { OnDestroy, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, NgForm, ControlValueAccessor } from '@angular/forms';
import { Subscription } from 'rxjs';
import { UtilService } from '../../services/util/util.service';
import { AddressComponent } from '../address/address.component';
import { ValidationService } from '../../services/questionnaire/validation.service';
import { AppealService } from '../../services/appeal/appeal.service';
import { AppealParticipantModelList } from '../../models/questionnaire/AppealParticipantModel';
import * as i0 from "@angular/core";
export declare class AddParticipantComponent implements OnInit, ControlValueAccessor, OnDestroy {
    private fb;
    util: UtilService;
    vs: ValidationService;
    appealService: AppealService;
    formControlName: string;
    onChange: Function;
    onTouched: () => void;
    onChangeSubs: Subscription[];
    participantAddress: AddressComponent;
    participantForm: NgForm;
    visible: boolean;
    isAppealLevelSecond: string;
    indexToEdit: any;
    roles: any[];
    dynamicParam: any;
    userForm: FormGroup;
    participantList: any[];
    logger: any;
    constructor(fb: FormBuilder, util: UtilService, vs: ValidationService, appealService: AppealService);
    ngOnDestroy(): void;
    writeValue(value: any): void;
    registerOnChange(fn: any): void;
    registerOnTouched(onTouched: any): void;
    setvalue(): void;
    addItem(): void;
    selectButtonValidation(): void;
    editItem(participant: any): void;
    reset(): void;
    removeItem(participant: any): void;
    addRole(): void;
    onSubmit(): void;
    publishParticipant(): void;
    validateAllFormFields(formGroup: FormGroup): void;
    get role(): import("@angular/forms").AbstractControl<any, any>;
    get name(): import("@angular/forms").AbstractControl<any, any>;
    get address(): import("@angular/forms").AbstractControl<any, any>;
    get phone(): import("@angular/forms").AbstractControl<any, any>;
    close(): void;
    ngOnInit(): void;
    initParticipantList(len: number, temp: AppealParticipantModelList): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<AddParticipantComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<AddParticipantComponent, "app-add-participant", never, { "dynamicParam": { "alias": "dynamicParam"; "required": false; }; }, {}, never, never, false, never>;
}
//# sourceMappingURL=add-participant.component.d.ts.map