import { ElementRef, EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core'; import { BehaviorSubject, Observable } from 'rxjs'; import { FormControl } from '@angular/forms'; import { DisabledHandler, KaraDate } from 'kara-ui-alfa/components/calendar'; import { KInputControlWithErrorsValueAccessor } from 'kara-ui-alfa/components/form/base'; import * as i0 from "@angular/core"; export declare abstract class KInputDateAbstract extends KInputControlWithErrorsValueAccessor implements OnInit, OnChanges { protected readonly input?: ElementRef; protected readonly panel?: ElementRef; label?: string; hint?: string; minDate?: KaraDate; maxDate?: KaraDate; monthOnly?: boolean; clearButton?: boolean; disabledItemHandler?: DisabledHandler; valueChange: EventEmitter; readonly focusedChange: EventEmitter; readonly dateControl: FormControl; readonly formattedValue$: BehaviorSubject>; readonly months$: Observable<[string, string, string, string, string, string, string, string, string, string, string, string]>; get dateMask(): string | undefined; get placeholder(): string; isOpen: boolean; isFocused: boolean; private destroyRef; private host; abstract onModelChange(value: string | null): void; protected abstract getFormattedDate(date: T | undefined): Observable; ngOnInit(): void; ngOnChanges(changes: SimpleChanges): void; onBlur(): void; onFocus(): void; setFocus(event: MouseEvent): void; selectDate(date: T): void; close(): void; clearInput(event: Event): void; protected updateValue(value: T | undefined): void; protected parseDate(value: string): Date | null; private monthModeParse; private fullDateModeParse; writeValue(value: T | undefined): void; updateFormattedValue(value: T | undefined): void; protected dateConvert(date: KaraDate | undefined): Observable; private outsideClickListener; protected abstract isSameValue(a: T | undefined, b: T | undefined): boolean; protected isSameDate(a: KaraDate | undefined, b: KaraDate | undefined): boolean; protected normalize(value: KaraDate): KaraDate | undefined; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "label": { "alias": "label"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "monthOnly": { "alias": "monthOnly"; "required": false; }; "clearButton": { "alias": "clearButton"; "required": false; }; "disabledItemHandler": { "alias": "disabledItemHandler"; "required": false; }; }, { "valueChange": "valueChange"; "focusedChange": "focusedChange"; }, never, never, true, never>; }