import * as i0 from '@angular/core'; import { ElementRef, OnInit, OnChanges, OnDestroy, EventEmitter, NgZone, SimpleChanges, PipeTransform } from '@angular/core'; import { Validator, AbstractControl, NgModel, FormControlName, FormControlDirective } from '@angular/forms'; import { MatFormField } from '@angular/material/form-field'; import * as i4 from '@angular/common'; /** * @internal */ type TEL_TYPE = 'MOBILE' | 'FIXED_LINE_OR_MOBILE' | 'FIXED_LINE'; /** * @internal */ declare class PhoneNumberValidator implements Validator { private _el; telType: TEL_TYPE; static validateControl(inp: HTMLInputElement, type: TEL_TYPE, update: boolean): { [key: string]: any; } | null; constructor(_el: ElementRef); validate(_: AbstractControl): { [key: string]: any; } | null; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * Add phone number validation support by specifying the `type` attribute as `tel` in an `` element. * * To use this feature, please install a peer dependency `intl-tel-input` in your project and add the following * to your application polyfills: * * ```javascript * import 'intl-tel-input/build/js/utils.js'; * ``` * * You will also need to add the following statements to one of your global SCSS files: * * ```scss * @import url('intl-tel-input/build/css/intlTelInput'); * ``` */ declare class PhoneNumberDirective implements OnInit, OnChanges, OnDestroy { private _el; private _ngModel; private _formControlName; private _formControlDirective; private _locale; private _zone; private _matField; /** * @ignore */ static POST_RENDER_INIT_DELAY: number; /** * @ignore */ static BYPASS_SHADOW_DETECTION: boolean; /** * The type of phone number to validate for */ telType: TEL_TYPE; /** * Disable country dropdown by setting this property to `false`. */ telDropdown: boolean; /** * This event is triggered when a new country is selected from the dropdown. The event detail is the ISO country code. */ telCountryChange: EventEmitter; private _control; private _reactive; private _countryChangeListener; private _input; private _iti; constructor(_el: ElementRef, _ngModel: NgModel, _formControlName: FormControlName, _formControlDirective: FormControlDirective, _locale: string, _zone: NgZone, _matField: MatFormField); /** @internal */ onInput(): void; ngOnInit(): void; ngOnDestroy(): void; ngOnChanges(changes: SimpleChanges): void; private initElement; private _patchValueByState; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } /** * @internal */ declare class PhoneNumberPipe implements PipeTransform { private _locale; constructor(_locale: string); transform(value: any, mode?: string, renderLink?: boolean): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵpipe: i0.ɵɵPipeDeclaration; } /** * @internal */ declare class PhoneModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { PhoneModule, PhoneNumberDirective, PhoneNumberPipe, PhoneNumberValidator };