import { ComponentType, TemplatePortal } from '@angular/cdk/portal'; import { EventEmitter, OnChanges, OnDestroy, SimpleChanges } from '@angular/core'; import { Subject } from 'rxjs'; import { DateFilterFn, ExtractDateTypeFromSelection, RealsoftCalendarCellClassFunction, RealsoftCalendarView, RealsoftDatepickerControl, RealsoftDatepickerDropdownPositionX, RealsoftDatepickerDropdownPositionY, RealsoftDatepickerPanel, RealsoftDateSelectionModel } from './models'; import { RealsoftDatepickerContent } from './datepicker-content'; import * as i0 from "@angular/core"; export declare abstract class RealsoftDatepickerBase, S, D = ExtractDateTypeFromSelection> implements RealsoftDatepickerPanel, OnDestroy, OnChanges, OnChanges { private _overlay; private _animationsModule; private _animationsDisabled; private _dateAdapter; private _model; private _dir; private _viewContainerRef; private _inputStateChanges; private _document; private _startAt; datepickerInput: C; private _disabled; readonly stateChanges: Subject; private _opened; private _panelClass; id: string; private _overlayRef; private _componentRef; private _previouslyFocusedElement; private _actionsPortal; private _injector; private readonly _changeDetectorRef; private _scrollStrategy; get startAt(): D | null; set startAt(value: D | null); startView: 'month' | 'year' | 'multi-year'; calendarHeaderComponent: ComponentType; touchUi: boolean; get disabled(): boolean; set disabled(value: boolean); xPosition: RealsoftDatepickerDropdownPositionX; yPosition: RealsoftDatepickerDropdownPositionY; restoreFocus: boolean; readonly yearSelected: EventEmitter; readonly monthSelected: EventEmitter; readonly viewChanged: EventEmitter; dateClass: RealsoftCalendarCellClassFunction; readonly openedStream: EventEmitter; readonly closedStream: EventEmitter; get opened(): boolean; set opened(value: boolean); get panelClass(): string | string[]; set panelClass(value: string | string[]); constructor(); ngOnChanges(changes: SimpleChanges): void; getMinDate(): D | null; getMaxDate(): D | null; getDateFilter(): DateFilterFn; select(date: D): void; selectYear(selectedYear: D): void; selectMonth(selectedMonth: D): void; viewChanges(view: RealsoftCalendarView): void; private _setConnectedPositions; registerInput(input: C): RealsoftDateSelectionModel; registerActions(portal: TemplatePortal): void; removeActions(portal: TemplatePortal): void; open(): void; private _openOverlay; private getDialogStrategy; private getDropdownStrategy; private getCloseStream; applyPendingSelection(): void; protected forwardContentValues(instance: RealsoftDatepickerContent): void; private _destroyOverlay; close(): void; ngOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration, never>; static ɵdir: i0.ɵɵDirectiveDeclaration, never, never, { "startAt": { "alias": "startAt"; "required": false; }; "startView": { "alias": "startView"; "required": false; }; "calendarHeaderComponent": { "alias": "calendarHeaderComponent"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; "dateClass": { "alias": "dateClass"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "panelClass": { "alias": "panelClass"; "required": false; }; }, { "yearSelected": "yearSelected"; "monthSelected": "monthSelected"; "viewChanged": "viewChanged"; "openedStream": "opened"; "closedStream": "closed"; }, never, never, true, never>; static ngAcceptInputType_touchUi: unknown; static ngAcceptInputType_disabled: unknown; static ngAcceptInputType_restoreFocus: unknown; static ngAcceptInputType_opened: unknown; }