import { ElementRef, OnDestroy, OnInit, EventEmitter } from '@angular/core';
import { EventService } from '../services/EventService';
import { LocalizationService } from '../services/LocalizationService';
export interface IFormValidatorTrigger {
    clickHandler: () => () => void;
    validatorTriggerId: string;
}
export interface IFormValidatorFor {
    model: any;
    ignore: boolean;
    isRequired: boolean;
    isNumber: boolean;
    maxLength: number;
    minValue: number;
    maxValue: number;
}
export interface IFormValidatorAttributes {
    omfFormValidator: string;
}
export declare class FormValidator implements OnInit, OnDestroy {
    private element;
    private eventService;
    omfFormValidatorId: string;
    static attributeName: string;
    static FormValidationStartEvent: (formValidatorId: string) => string;
    static FormValidationSuccessEvent: (formValidatorId: string) => string;
    static FormValidationCompletedEvent: (formValidatorId: string) => string;
    static FieldValidationRegisterEvent: (formValidatorId: string) => string;
    static FieldValidationUnregisterEvent: (formValidatorId: string) => string;
    static FieldValidationStartEvent: (formValidatorId: string) => string;
    static FieldValidationSuccessEvent: (formValidatorId: string) => string;
    static FieldValidationCompletedEvent: (formValidatorId: string) => string;
    private validatorCount;
    private validationSuccessCount;
    private validationCompletedCount;
    private formValidationStartEvent;
    private fieldValidationRegisterEvent;
    private fieldValidationUnregisterEvent;
    private fieldValidationSuccessEvent;
    private fieldValidationCompletedEvent;
    constructor(element: ElementRef, eventService: EventService);
    ngOnInit(): void;
    ngOnDestroy(): void;
}
export declare class FormValidatorTrigger implements OnInit, OnDestroy {
    private element;
    private eventService;
    omfFormValidatorTrigger: Function;
    omfFormValidatorCompletedTrigger: Function;
    omfValidatorTriggerId: string;
    private formValidationSuccessEvent;
    private formValidationCompletedEvent;
    constructor(element: ElementRef, eventService: EventService);
    ngOnInit(): void;
    ngOnDestroy(): void;
}
export declare class FormValidatorFor implements OnInit, OnDestroy {
    private element;
    private eventService;
    private localizationService;
    maxLength: Number;
    minValue: any;
    maxValue: any;
    ignore: boolean;
    customValidator: (data: any, element: any) => {
        isValid: true;
        errorMessage: string;
    };
    model: any;
    modelChange: EventEmitter<Array<any>>;
    ignoreChange: EventEmitter<Array<any>>;
    private formValidatorId;
    private FieldValidationStartEvent;
    private isRequired;
    private isNumber;
    constructor(element: ElementRef, eventService: EventService, localizationService: LocalizationService);
    ngOnInit(): void;
    private validate;
    private showValidationError;
    private clearValidationError;
    private getFieldContainer;
    private getErrorMessageContainer;
    private hasAttribute;
    ngOnDestroy(): void;
}
