import { AfterViewInit, ElementRef, EventEmitter, Renderer2 } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { NgxMaskService } from './mask.service';
export declare class NgxMaskDirective implements ControlValueAccessor, AfterViewInit {
    private maskService;
    private elementRef;
    private renderer;
    private ngControl;
    valueChange: EventEmitter<string>;
    private lastNativeValue;
    private isBackspaceChange;
    constructor(maskService: NgxMaskService, elementRef: ElementRef<HTMLInputElement>, renderer: Renderer2, ngControl: NgControl);
    get value(): string;
    set value(value: string);
    private _mask;
    get mask(): string;
    set mask(value: string);
    private set nativeValue(value);
    private get input();
    private static indexOfFirstDifferentChar;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(isDisabled: boolean): void;
    writeValue(obj: any): void;
    onBlur(): void;
    _onKeydown(event: KeyboardEvent): void;
    _onInput({ emitChange }?: {
        emitChange?: boolean;
    }): void;
    ngAfterViewInit(): void;
    private onChange;
    private onTouched;
}
