import type { OnChanges, SimpleChanges } from '@angular/core'; import type { ControlValueAccessor, FormControl, ValidationErrors, Validator } from '@angular/forms'; import type { CustomKeyboardEvent } from './custom-keyboard-event'; import type { NgxMaskConfig } from './ngx-mask.config'; import { NgxMaskService } from './ngx-mask.service'; import * as i0 from "@angular/core"; export declare class NgxMaskDirective implements ControlValueAccessor, OnChanges, Validator { mask: import("@angular/core").InputSignal; specialCharacters: import("@angular/core").InputSignal; patterns: import("@angular/core").InputSignal>; prefix: import("@angular/core").InputSignal; suffix: import("@angular/core").InputSignal; thousandSeparator: import("@angular/core").InputSignal; decimalMarker: import("@angular/core").InputSignal<"." | "," | [".", ","]>; dropSpecialCharacters: import("@angular/core").InputSignal; hiddenInput: import("@angular/core").InputSignal; showMaskTyped: import("@angular/core").InputSignal; placeHolderCharacter: import("@angular/core").InputSignal; shownMaskExpression: import("@angular/core").InputSignal; clearIfNotMatch: import("@angular/core").InputSignal; validation: import("@angular/core").InputSignal; separatorLimit: import("@angular/core").InputSignal; allowNegativeNumbers: import("@angular/core").InputSignal; leadZeroDateTime: import("@angular/core").InputSignal; leadZero: import("@angular/core").InputSignal; triggerOnMaskChange: import("@angular/core").InputSignal; apm: import("@angular/core").InputSignal; inputTransformFn: import("@angular/core").InputSignal; outputTransformFn: import("@angular/core").InputSignal; keepCharacterPositions: import("@angular/core").InputSignal; instantPrefix: import("@angular/core").InputSignal; maskFilled: import("@angular/core").OutputEmitterRef; private _maskValue; private _inputValue; private _position; private _code; private _maskExpressionArray; private _justPasted; private _isFocused; private _isComposing; _maskService: NgxMaskService; private readonly document; protected _config: NgxMaskConfig; 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; writeValue(controlValue: unknown): Promise; registerOnChange(fn: typeof this.onChange): void; registerOnTouched(fn: typeof this.onTouch): void; private _getActiveElement; checkSelectionOnDeletion(el: HTMLInputElement): void; setDisabledState(isDisabled: boolean): void; private _applyMask; private _validateTime; private _getActualInputLength; private _createValidationError; private _setMask; private _areAllCharactersInEachStringSame; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; }