import { AfterViewInit, EventEmitter, OnDestroy } from '@angular/core';
import { DayModel, NullableDayModel } from '../../models/day.model';
import { OpenedDatepickersTrackerService } from '../../providers/opened-datepickers-tracker.service';
import * as i0 from "@angular/core";
export declare class ClrDatepickerComponent implements AfterViewInit, OnDestroy {
    private readonly openedDatepickersTrackerService;
    /**
     * Input value.
     */
    value: NullableDayModel;
    /**
     * Text label.
     */
    label: string;
    /**
     * Minimum date that can be selected.
     */
    minDate: NullableDayModel;
    /**
     * Maximum date that can be selected.
     */
    maxDate: NullableDayModel;
    timeSelection: boolean;
    /**
     * Input control.
     */
    private inputElm;
    /**
     * Clarity datepicker container.
     */
    private clrDateContainer;
    /**
     * Event triggered when value changes.
     */
    valueChange: EventEmitter<DayModel>;
    /**
     * Get date.
     * @returns JavaScript Date object.
     */
    protected get date(): Date | undefined | null;
    /**
     * Set date.
     */
    protected set date(val: Date | undefined | null);
    /**
     * Minimum date as attribute string.
     * @returns Minimum date as attribute string.
     */
    protected get minDateAttr(): string | undefined | null;
    /**
     * Maximum date as attribute string.
     * @returns Maximum date as attribute string.
     */
    protected get maxDateAttr(): string | undefined | null;
    /** List of subscriptions to later destroy. */
    private subscriptions;
    constructor(openedDatepickersTrackerService: OpenedDatepickersTrackerService);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    /**
     * Focus input.
     */
    focus(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<ClrDatepickerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ClrDatepickerComponent, "clr-datepicker", never, { "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "timeSelection": { "alias": "timeSelection"; "required": false; }; }, { "valueChange": "valueChange"; }, never, never, false, never>;
}
