import * as i0 from '@angular/core'; import { OnInit, EventEmitter, TemplateRef, ElementRef, OnChanges, SimpleChanges, AfterContentInit, OnDestroy } from '@angular/core'; import { Direction } from '@angular/cdk/bidi'; import * as i8 from '@ifsworld/granite-components'; import { ClientInputInterface, ClientOutputInterface } from '@ifsworld/granite-components'; import { PrimeNG } from 'primeng/config'; import * as i9 from '@angular/cdk/a11y'; import { FocusOrigin } from '@angular/cdk/a11y'; import * as i4 from '@angular/common'; import * as i5 from '@angular/cdk/overlay'; import * as i6 from 'primeng/datepicker'; import * as i7 from '@angular/forms'; type PositionX = 'before' | 'after'; type PositionY = 'above' | 'below'; /** Base class with common functionality for date/date-range pickers. */ declare class _DatePickerBase implements OnInit { minDate: Date | null; maxDate: Date | null; firstDayOfWeek: number; readonly pickerClosed: EventEmitter; templateRef: TemplateRef; _elementRef: ElementRef; primeNG: PrimeNG; xPosition: PositionX; yPosition: PositionY; direction: Direction; /** * Used for locating the panel in tests and setting the aria-control attribute * for the picker trigger. */ readonly panelId: string; /** Client input device information */ clientInput: ClientInputInterface; /** Client output device information */ clientOutput: ClientOutputInterface; ngOnInit(): void; _handleKeydown(event: KeyboardEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration<_DatePickerBase, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<_DatePickerBase, never, never, { "minDate": { "alias": "minDate"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "firstDayOfWeek": { "alias": "firstDayOfWeek"; "required": false; }; }, { "pickerClosed": "pickerClosed"; }, never, never, false, never>; } declare class GraniteDatePickerComponent extends _DatePickerBase { selectedDate: Date | undefined; readonly selectionChanged: EventEmitter; dateSelectionChanged(newDate: Date): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class GraniteDateRangePickerComponent extends _DatePickerBase implements OnChanges { selectedDateRange: Date[]; readonly selectionChanged: EventEmitter; _selectedDateRangeInternal: Date[]; ngOnChanges(changes: SimpleChanges): void; dateRangeSelectionChanged(date: Date): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } declare class GraniteDatePickerTriggerForDirective implements AfterContentInit, OnDestroy { /** References the picker instance that the trigger is associated with. */ picker: GraniteDatePickerComponent | GraniteDateRangePickerComponent; _clientInput: ClientInputInterface; _clientOutput: ClientOutputInterface; /** Whether the associated picker is open */ _isPickerOpen: boolean; private _overlay; private _element; private _viewContainerRef; private _outsideClickDispatcher; private _dir; private _focusMonitor; private _pickerCloseSubscription; private _portal; private _overlayRef; ngAfterContentInit(): void; ngOnDestroy(): void; isOpen(): boolean; openPicker(): void; /** Toggles the picker between the open and closed states. */ togglePicker(): void; /** Close the associated picker */ closePicker(): void; /** Handles key presses on the trigger. */ _handleKeydown(event: KeyboardEvent): void; /** Handles click events on the trigger. */ _handleClick(): void; /** * Restores focus to the element that was focused before the picker was open. */ _restoreFocus(origin?: FocusOrigin, options?: FocusOptions): void; /** * Returns strategy for positioning the overlay for desktop devices: */ private _desktopPositionStrategy; /** * Sets the appropriate positions on a position strategy * so the overlay connects with the trigger correctly. * @param positionStrategy Strategy whose position to update. */ private _setPosition; /** * Returns strategy for positioning the overlay depending on what type of * device the picker is being shown on */ private _positionStrategy; /** * Returns strategy for positioning the overlay for touch devices: * Place centered in the screen. */ private _touchPositionStrategy; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } declare class GraniteDatePickerModule { static ɵfac: i0.ɵɵFactoryDeclaration; static ɵmod: i0.ɵɵNgModuleDeclaration; static ɵinj: i0.ɵɵInjectorDeclaration; } export { GraniteDatePickerComponent, GraniteDatePickerModule, GraniteDatePickerTriggerForDirective, GraniteDateRangePickerComponent };