import { AfterViewInit, ElementRef, OnChanges, OnDestroy, OnInit, SimpleChanges } from '@angular/core';
import { PoDatepickerRange } from './interfaces/po-datepicker-range.interface';
import { PoDatepickerRangeBaseComponent } from './po-datepicker-range-base.component';
import { PoHelperComponent } from '../../po-helper';
import { PoButtonComponent } from '../../po-button';
/**
* @docsExtends PoDatepickerRangeBaseComponent
*
* @example
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
export declare class PoDatepickerRangeComponent extends PoDatepickerRangeBaseComponent implements AfterViewInit, OnInit, OnDestroy, OnChanges {
private readonly controlPosition;
private readonly renderer;
private readonly cd;
private readonly poLanguageService;
dateRangeField: ElementRef;
endDateInput: ElementRef;
startDateInput: ElementRef;
iconCalendar: PoButtonComponent;
calendarPicker: ElementRef;
helperEl?: PoHelperComponent;
iconClean: ElementRef;
id: string;
isCalendarVisible: boolean;
widthWithPresets: boolean;
private clickListener;
private eventResizeListener;
private readonly poDatepickerRangeElement;
private readonly MIN_CALENDAR_WIDTH_WITH_PRESETS;
get autocomplete(): "off" | "on";
get enableCleaner(): boolean;
get endDateInputName(): string;
get endDateInputValue(): string;
get getErrorMessage(): string;
get isDateRangeInputUncompleted(): boolean;
get isDirtyDateRangeInput(): boolean;
get startDateInputName(): string;
get startDateInputValue(): string;
constructor();
static getKeyCode(event: KeyboardEvent): number;
static getTargetElement(event: any): any;
static isValidKey(keyCode: number): boolean;
ngAfterViewInit(): void;
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
clear(): void;
clearAndFocus(): void;
emitAdditionalHelp(): void;
eventOnClick($event: any): void;
/**
* Função que atribui foco ao componente.
*
* Para utilizá-la é necessário ter a instância do componente no DOM, podendo ser utilizado o ViewChild da seguinte forma:
*
* ```
* import { PoDatepickerRangeComponent } from '@po-ui/ng-components';
*
* ...
*
* @ViewChild(PoDatepickerRangeComponent, { static: true }) datepickerRange: PoDatepickerRangeComponent;
*
* focusDatepickerRange() {
* this.datepickerRange.focus();
* }
* ```
*/
focus(): void;
getAdditionalHelpTooltip(): string;
onBlur(event: any): void;
onCalendarChange({ start, end }: {
start: any;
end: any;
}): void;
onFocus(event: any): void;
onKeydown(event?: any): void;
onKeyPress(event: any): void;
private handleShiftTabWithCleaner;
private handleShiftTabWithoutCleaner;
private handleTabWithCalendarVisible;
private handleMobileNavigation;
private handlePresetNavigation;
private handleComboNavigation;
onKeydownDatepickerRange($event?: any): void;
onKeyup(event: any): void;
resetDateRangeInputValidation(): void;
/**
* Método que exibe `p-helper` ou executa a ação definida em `p-helper{eventOnClick}` ou em `p-additionalHelp`.
* Para isso, será necessário configurar uma tecla de atalho utilizando o evento `p-keydown`.
*
* > Exibe ou oculta o conteúdo do componente `po-helper` quando o componente estiver com foco.
*
* ```
* // Exemplo com p-label e p-helper
*
* ```
* ```
* ...
* onKeyDown(event: KeyboardEvent, inp: PoDatepickerRangeComponent): void {
* if (event.code === 'F9') {
* inp.showAdditionalHelp();
* }
* }
* ```
*/
showAdditionalHelp(): boolean;
enableHorizontalMouseWheel(): void;
toggleCalendar(): void;
updateScreenByModel(model: PoDatepickerRange): void;
onCalendarKeyDown(event: KeyboardEvent): void;
setHelper(label?: string, additionalHelpTooltip?: string): {
hideAdditionalHelp: boolean;
helperSettings?: any;
};
onResize(): void;
private calculateWidthWithPresets;
private updateWidthWithPresets;
verifyMobile(): RegExpMatchArray;
setCalendarPosition(): void;
private applyFocusOnDatePickerRangeField;
private formatDate;
private formatScreenToModel;
private formatModelToScreen;
private getDateRangeFormatValidation;
private getValidatedModel;
private hasAttrCalendar;
private hasInvalidClass;
private initializeListeners;
private isAdditionalHelpEventTriggered;
private isEqualBeforeValue;
private isFocusOnFirstCombo;
private isSetFocusOnBackspace;
private readonly onScroll;
private removeFocusFromDatePickerRangeField;
private setDateRangeInputValidation;
private setFocus;
private setFocusAndPosition;
private focusOnElement;
private removeListeners;
private setFocusOnArrowLeft;
private setFocusOnArrowRight;
private setFocusOnBackspace;
private setFocusOnStartDateCompleted;
private updateModelWhenComplete;
private updateModelByScreen;
private verifyFormattedDates;
private wasClickedOnPicker;
closeCalendar(): void;
}