import { AsyncValidatorFn, ValidatorFn } from "@angular/forms"; import { NgtHttpValidationService } from "../../../../../services/http/ngt-http-validation.service"; import { NgtReactiveInputLoaderService } from "./ngt-reactive-input-loader.service"; import { NgtReactiveFormValidationService } from "../../../../../services/validation/ngt-reactive-form-validation.service"; import { InputMaskEnum } from "../../../../../helpers/input-mask/input-mask.helper"; import * as i0 from "@angular/core"; export interface NgtReactInputValidationConfig { type: string; mask: InputMaskEnum; match: string; minValue: number; maxValue: number; minLength: number; maxLength: number; isRequired: boolean; validatePassword: boolean; passwordableId: string; passwordPolicyId: string; uniqueResource: any; customSyncValidators?: ValidatorFn[]; customAsyncValidators?: AsyncValidatorFn[]; } export declare class NgtReactiveInputValidationService { private httpValidationService; private reactiveFormValidationService; private loaderService; private emailValidatorTimeout; private passwordValidatorTimeout; private uniqueValidatorTimeout; constructor(httpValidationService: NgtHttpValidationService, reactiveFormValidationService: NgtReactiveFormValidationService, loaderService: NgtReactiveInputLoaderService); getSyncValidators(config: NgtReactInputValidationConfig): ValidatorFn[]; getAsyncValidators(config: NgtReactInputValidationConfig): AsyncValidatorFn[]; validatePhone(phone: string): Promise; clearTimeouts(): void; private timeValidator; private cnpjCpfValidator; private validateCpfCnpj; private uniqueValidator; private emailValidator; private passwordValidator; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; }