import { ElementRef, Renderer2, EventEmitter, OnDestroy } from '@angular/core';
import { Mask } from '@true-directive/base';
import { MaskResult } from '@true-directive/base';
import { MaskState } from '@true-directive/base';
import { InternationalizationService } from '../internationalization/internationalization.service';
import { Locale } from '@true-directive/base';
export declare abstract class MaskBaseDirective implements OnDestroy {
    protected _renderer: Renderer2;
    protected _elementRef: ElementRef;
    protected intl: InternationalizationService;
    private _undo;
    private _redo;
    protected _txtValue: string;
    protected readonly _mask: Mask;
    private _localeSubscription;
    protected android_behavior: boolean;
    protected last_res: MaskResult;
    stateChange: EventEmitter<MaskState>;
    private _state;
    state: MaskState;
    protected updateState(): void;
    protected processAndroid(txt: any): void;
    protected doInput(txt: any): void;
    processKey(e: any): boolean;
    protected setRes(res: MaskResult): void;
    protected currentRes(): MaskResult;
    protected getRes(s: string, selStart: number, selEnd: number): MaskResult;
    protected abstract toModel(): void;
    protected setText(displayedValue: string, toModel?: boolean): void;
    protected setLocale(locale: Locale): void;
    ngOnDestroy(): void;
    constructor(_renderer: Renderer2, _elementRef: ElementRef, intl: InternationalizationService);
}
