import { OnInit, EventEmitter } from '@angular/core';
import { UntypedFormGroup, UntypedFormBuilder, UntypedFormArray } from '@angular/forms';
import { AlertService, ErrorHandlerService, FormValidatorService, HttpService } from '../core';
import { User } from './user.model';
import { MatDialogRef } from '@angular/material/dialog';
import { UserService } from './user.service';
import { MultiUserConfig } from '../user-config';
import { UserConfigService } from '../user-config';
import { FileDropperConfig } from "../file-dropper";
import { ViewerConfig } from "../document-viewer";
import * as i0 from "@angular/core";
export declare class UserFormComponent implements OnInit {
    dialogRef: MatDialogRef<UserFormComponent>;
    user: any;
    private http;
    private alertService;
    private errorHandler;
    private fb;
    private formValidatorService;
    private userService;
    userConfigService: UserConfigService;
    userId: number;
    onSave: EventEmitter<User>;
    isWorking: boolean;
    userForm: UntypedFormGroup;
    isPasswordRequired: boolean;
    updateMode: boolean;
    config: MultiUserConfig;
    userTypes: any;
    users: User[];
    userRoles: any[];
    roles: any[];
    fileConfig: FileDropperConfig;
    viewerConfig: ViewerConfig;
    fileList: any[];
    constructor(dialogRef: MatDialogRef<UserFormComponent>, user: any, http: HttpService, alertService: AlertService, errorHandler: ErrorHandlerService, fb: UntypedFormBuilder, formValidatorService: FormValidatorService, userService: UserService, userConfigService: UserConfigService);
    get roleForms(): UntypedFormArray;
    ngOnInit(): void;
    loadRoles(): void;
    save(): Promise<void>;
    roleSelected(event: any, roleId: number): void;
    /** Method to evaluate form fields*/
    isFieldValid(field: string): any;
    /** Method to find error in form fields*/
    getErrorMessage(field: string): any;
    closeDialog(): void;
    fileChanged(event: any): Promise<void>;
    removeFile(): Promise<void>;
    uploadEntityFile(file: File): Promise<Object>;
    static ɵfac: i0.ɵɵFactoryDeclaration<UserFormComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<UserFormComponent, "user-form", never, { "userId": { "alias": "userId"; "required": false; }; }, { "onSave": "onSave"; }, never, never, false, never>;
}
