import { AfterViewInit } from '@angular/core';
import { EventEmitter } from '@angular/core';
import { AbstractControl, FormGroup } from '@angular/forms';
import { ConfigService } from '@nakedobjects/services';
import { FieldViewModel } from '@nakedobjects/view-models';
import { DateTime } from 'luxon';
import { DatePickerComponent, DatePickerOptions } from '../date-picker/date-picker.component';
import { IDatePickerInputEvent, IDatePickerOutputEvent } from '../date-picker/date-picker.component';
import * as i0 from "@angular/core";
export declare class DatePickerFacadeComponent implements AfterViewInit {
    datePickerOptions: DatePickerOptions;
    constructor(configService: ConfigService);
    control: AbstractControl;
    form: FormGroup;
    private fieldViewModel;
    set model(m: FieldViewModel);
    get model(): FieldViewModel;
    datepicker?: DatePickerComponent;
    inputEvents: EventEmitter<IDatePickerInputEvent>;
    get id(): string;
    get description(): string;
    setValueIfChanged(dateModel: DateTime | null): void;
    handleDefaultEvent(data: string): void;
    handleDateChangedEvent(dateModel: DateTime): void;
    handleDateClearedEvent(): void;
    handleInvalidDateEvent(_: string): void;
    handleEvents(e: IDatePickerOutputEvent): void;
    ngAfterViewInit(): void;
    focus(): boolean;
    static ɵfac: i0.ɵɵFactoryDeclaration<DatePickerFacadeComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DatePickerFacadeComponent, "nof-date-picker-facade", never, { "control": { "alias": "control"; "required": true; }; "form": { "alias": "form"; "required": true; }; "model": { "alias": "model"; "required": true; }; }, {}, never, never, false, never>;
}
