import { AfterViewInit, ElementRef, IterableDiffers, OnChanges, OnDestroy, Renderer2, SimpleChanges } from '@angular/core';
import { PoListBoxComponent } from './../../po-listbox/po-listbox.component';
import { PoComboGroup } from './interfaces/po-combo-group.interface';
import { PoComboOption } from './interfaces/po-combo-option.interface';
import { PoComboBaseComponent } from './po-combo-base.component';
import { PoComboFilterService } from './po-combo-filter.service';
import { PoComboOptionTemplateDirective } from './po-combo-option-template/po-combo-option-template.directive';
import { PoHelperComponent } from '../../po-helper';
/**
* @docsExtends PoComboBaseComponent
*
*
* @example
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
export declare class PoComboComponent extends PoComboBaseComponent implements AfterViewInit, OnChanges, OnDestroy {
element: ElementRef;
differs: IterableDiffers;
defaultService: PoComboFilterService;
renderer: Renderer2;
private readonly controlPosition;
comboOptionTemplate: PoComboOptionTemplateDirective;
outerContainer: ElementRef;
containerElement: ElementRef;
contentElement: ElementRef;
iconElement: ElementRef;
inputEl: ElementRef;
poListbox: PoListBoxComponent;
helperEl?: PoHelperComponent;
comboIcon: string;
comboOpen: boolean;
differ: any;
id: string;
isProcessingValueByTab: boolean;
scrollTop: number;
shouldMarkLetters: boolean;
infiniteLoading: boolean;
containerWidth: number;
private _isServerSearching;
private lastKey;
private clickoutListener;
private eventResizeListener;
private filterSubscription;
private getSubscription;
private readonly subscriptionScrollEvent;
constructor();
set isServerSearching(value: boolean);
get isServerSearching(): boolean;
ngAfterViewInit(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
emitAdditionalHelp(): 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 { PoComboComponent } from '@po-ui/ng-components';
*
* ...
*
* @ViewChild(PoComboComponent, { static: true }) combo: PoComboComponent;
*
* focusCombo() {
* this.combo.focus();
* }
* ```
*/
focus(): void;
getAdditionalHelpTooltip(): string;
onBlur(event: any): void;
onKeyDown(event?: any): void;
onKeyUp(event?: any): void;
initInputObservable(): void;
controlApplyFilter(value: any, isArrowDown?: boolean): void;
applyFilter(value: string, reset?: boolean, isArrowDown?: boolean): void;
setOptionsByApplyFilter(value: any, items: any, reset?: boolean): void;
getErrorPattern(): string;
hasInvalidClass(): any;
getObjectByValue(value: any): void;
updateOptionByFilteredValue(item: any): void;
setShouldApplyFocus(value: boolean): void;
toggleComboVisibility(isButton?: boolean): void;
applyFilterInFirstClick(): void;
controlComboVisibility(toOpen: boolean, reset?: boolean, isButton?: boolean): void;
onCloseCombo(): void;
onOptionClick(option: PoComboOption | PoComboGroup, event?: any): void;
calculateScrollTop(selectedItem: any, index: any): any;
cleanListbox(): void;
getInputValue(): any;
setInputValue(value: string): 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: PoComboComponent): void {
* if (event.code === 'F9') {
* inp.showAdditionalHelp();
* }
* }
* ```
*/
showAdditionalHelp(): boolean;
wasClickedOnToggle(event: MouseEvent): void;
isValidCharacterToSearch(keyCode: any): boolean;
searchOnEnterOrArrow(event: any, value: string): void;
showMoreInfiniteScroll(): void;
clearAndFocus(): void;
updateCacheOptions(): void;
isCleanVisible(): boolean;
handleCleanKeyboardTab(event: KeyboardEvent): void;
onListboxKeyDown(event: any): void;
private adjustContainerPosition;
private close;
private initializeListeners;
private isAdditionalHelpEventTriggered;
private onErrorGetObjectByValue;
private readonly onScroll;
private onErrorFilteredData;
private open;
private removeListeners;
private setContainerPosition;
private setContainerWidth;
private setOptions;
private prepareOptions;
private setPage;
private setScrollingControl;
private focusItem;
private focusInput;
private shouldHandleTab;
setHelper(label?: string, additionalHelpTooltip?: string): {
hideAdditionalHelp: boolean;
helperSettings?: any;
};
}