import { OnChanges, SimpleChanges } from '@angular/core'; import { ControlValueAccessor, FormControl, ValidationErrors, Validator } from '@angular/forms'; import { CustomKeyboardEvent } from './custom-keyboard-event'; import { IConfig } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import * as i0 from "@angular/core"; export declare class NgxMaskDirective implements ControlValueAccessor, OnChanges, Validator { maskExpression: string | undefined | null; specialCharacters: IConfig['specialCharacters']; patterns: IConfig['patterns']; prefix: IConfig['prefix']; suffix: IConfig['suffix']; thousandSeparator: IConfig['thousandSeparator']; decimalMarker: IConfig['decimalMarker']; dropSpecialCharacters: IConfig['dropSpecialCharacters'] | null; hiddenInput: IConfig['hiddenInput'] | null; showMaskTyped: IConfig['showMaskTyped'] | null; placeHolderCharacter: IConfig['placeHolderCharacter'] | null; shownMaskExpression: IConfig['shownMaskExpression'] | null; showTemplate: IConfig['showTemplate'] | null; clearIfNotMatch: IConfig['clearIfNotMatch'] | null; validation: IConfig['validation'] | null; separatorLimit: IConfig['separatorLimit'] | null; allowNegativeNumbers: IConfig['allowNegativeNumbers'] | null; leadZeroDateTime: IConfig['leadZeroDateTime'] | null; leadZero: IConfig['leadZero'] | null; triggerOnMaskChange: IConfig['triggerOnMaskChange'] | null; apm: IConfig['apm'] | null; inputTransformFn: IConfig['inputTransformFn'] | null; outputTransformFn: IConfig['outputTransformFn'] | null; keepCharacterPositions: IConfig['keepCharacterPositions'] | null; maskFilled: IConfig['maskFilled']; private _maskValue; private _inputValue; private _position; private _code; private _maskExpressionArray; private _allowFewMaskChangeMask; private _justPasted; private _isFocused; /**For IME composition event */ private _isComposing; private readonly document; _maskService: NgxMaskService; protected _config: IConfig; onChange: (_: any) => void; onTouch: () => void; ngOnChanges(changes: SimpleChanges): void; validate({ value }: FormControl): ValidationErrors | null; onPaste(): void; onFocus(): void; onModelChange(value: string | undefined | null | number): void; onInput(e: CustomKeyboardEvent): void; onCompositionStart(): void; onCompositionEnd(e: CustomKeyboardEvent): void; onBlur(e: CustomKeyboardEvent): void; onClick(e: MouseEvent | CustomKeyboardEvent): void; onKeyDown(e: CustomKeyboardEvent): void; /** It writes the value in the input */ writeValue(controlValue: unknown): Promise; registerOnChange(fn: typeof this.onChange): void; registerOnTouched(fn: typeof this.onTouch): void; private _getActiveElement; checkSelectionOnDeletion(el: HTMLInputElement): void; /** It disables the input element */ setDisabledState(isDisabled: boolean): void; private _applyMask; private _validateTime; private _getActualInputLength; private _createValidationError; private _setMask; private _areAllCharactersInEachStringSame; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }