import { AfterViewChecked, OnDestroy, OnInit, Renderer2 } from '@angular/core';
import { Calendar } from 'primeng/calendar';
import * as i0 from "@angular/core";
export declare class CalendarMaskDirective implements OnInit, OnDestroy, AfterViewChecked {
    host: Calendar;
    renderer: Renderer2;
    SELECTORS: string;
    slotChar: string;
    autoClear: boolean;
    value: any;
    input?: HTMLInputElement;
    filled?: boolean;
    private _mask?;
    private defs;
    private tests?;
    private partialPosition;
    private firstNonMaskPos;
    private lastRequiredNonMaskPos;
    private len?;
    private oldVal?;
    private buffer;
    private defaultBuffer?;
    private focusText?;
    private caretTimeoutId;
    private androidChrome?;
    private firstTime;
    private focusListener?;
    private blurListener?;
    private keydownListener?;
    private keypressListener?;
    private inputListener?;
    private pasteListener?;
    constructor(host: Calendar, renderer: Renderer2);
    private setListeners;
    ngOnInit(): void;
    get mask(): string;
    set mask(val: string);
    writeValue(value: any): void;
    onInputBlur(e: any): void;
    onKeyDown(e: any): void;
    onKeyPress(e: any): void;
    private createCompleteMask;
    checkVal(allow?: boolean): any;
    onInputFocus(): void;
    onInputChange(event: any): void;
    handleInputChange(event: any): void;
    updateModel(e: any): void;
    updateFilledState(): void;
    focus(): void;
    private initMask;
    private caret;
    private getPlaceholder;
    private seekNext;
    private seekPrev;
    private shiftL;
    private shiftR;
    private handleAndroidInput;
    private updateCalendarValue;
    private clearBuffer;
    private writeBuffer;
    private createMaskFromDateFormat;
    isCompleted(): boolean;
    ngAfterViewChecked(): void;
    ngOnDestroy(): void;
    onKeydownEventTest(e: KeyboardEvent): void;
    focusableElement(id: string, hide: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<CalendarMaskDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<CalendarMaskDirective, "p-calendar[sCalendarMask]", never, { "slotChar": { "alias": "slotChar"; "required": false; }; "autoClear": { "alias": "autoClear"; "required": false; }; }, {}, never, never, false, never>;
}
