import { Renderer2, ElementRef, ChangeDetectorRef, AfterViewInit, OnDestroy } from '@angular/core';
import { NgControl, NgModel } from '@angular/forms';
import { ValueAccessorBase } from '../input/core/value-accessor';
import * as i0 from "@angular/core";
export declare class TlDate extends ValueAccessorBase<string> implements OnDestroy, AfterViewInit {
    private renderer;
    private change;
    ngControl: NgControl;
    formatDate: string;
    isoDate: boolean;
    label: string;
    labelSize: string;
    disabled: boolean;
    required: boolean;
    readonly: boolean;
    color: string;
    withBorder: boolean;
    flatBorders: boolean;
    labelPlacement: 'left' | 'top';
    hiddenModel: NgModel;
    input: ElementRef;
    mockValue: string;
    private fieldMask;
    placeholder: string;
    touched: boolean;
    private mask;
    private subscription;
    constructor(renderer: Renderer2, change: ChangeDetectorRef, ngControl: NgControl);
    get control(): import("@angular/forms").AbstractControl<any, any>;
    setControl(): void;
    ngAfterViewInit(): void;
    handleCompleteMask(): void;
    handleChangeStatus(): void;
    handleModelChangeInit(): void;
    handleRequiredValidator(): void;
    getMockValue(value: any): void;
    getDateByFormat(date: any): any;
    isIsoDate(str: any): boolean;
    handleIsoDateModel(): void;
    isControlValid(): boolean;
    setDateMask(): void;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TlDate, [null, null, { optional: true; self: true; }]>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TlDate, "tl-date", never, { "formatDate": "formatDate"; "isoDate": "isoDate"; "label": "label"; "labelSize": "labelSize"; "disabled": "disabled"; "required": "required"; "readonly": "readonly"; "color": "color"; "withBorder": "withBorder"; "flatBorders": "flatBorders"; "labelPlacement": "labelPlacement"; }, {}, never, never, false, never>;
}
//# sourceMappingURL=date.d.ts.map