import { ElementRef, EventEmitter, OnDestroy, OnInit, Renderer2, OnChanges, SimpleChanges, DoCheck } from '@angular/core';
import { Options, Select } from '../../models';
import { UglaService } from '../../ugla.service';
/**
* Select
*
* @example
*
*
*
*
*
* @example
* public people = new People('PEOPLE NAME', 'LOGIN', 'IMAGE URL');
*
* @example
* public select = new Select('language', [
* new Options('Select an option', '-1'),
* new Options('Portuguese PT-BR', 'pt_br', true, 'green'),
* new Options('English EN', 'en')
* ], 'white', 'aquamarine');
*/
export declare class SelectComponent implements OnInit, OnDestroy, OnChanges, DoCheck {
private ugla;
protected elementRef: ElementRef;
private renderer;
/**
* Receives theme's name
*/
theme: string;
/**
* Classes list
*/
classGroup: string;
/**
* Set select object
*/
select: Select;
/**
* Set label
*/
label: string;
/**
* Set message
*/
message: string;
/**
* Is stylized?
*
* Stylized is used only header
*
* Default value: false
*/
stylized: boolean;
/**
* If is stylized, set a defined type
*
* Stylized type options: header or pagination or small
*
* Default value: header
*/
stylizedType: string;
/**
* Is disabled?
*
* Default value: false
*/
disabled: boolean;
/**
* Set data-title attribute
*
* Default value: none
*/
dataTitle: string;
/**
* Is required
*
* Default: false
*/
required: boolean;
/**
* Z-index of the field. Optional.
*
* Default: 2
*/
zindex: number;
/**
* Direction to open list
*
* Default: bottom
*/
direction: string;
/**
* Get a checkbox element under select list
*/
checkbox: ElementRef;
/**
* Event on clicked option
*/
selected: EventEmitter;
/**
* Is invalid
*
* Default: false
*/
invalid: boolean;
/**
* Message for invalid selection
*
* Default: Form.REQUIRED
*/
messageRequired: string;
/**
* Set a truncate length for the text.
*/
truncateLength: number;
/**
* Set a readonly mode
*/
readonly: boolean;
width: string;
nextFocus: string;
/**
* Original message
*/
originalMessage: string;
/**
* Style for select
*/
selectStyle: any;
/**
* Classes of the component
*/
classes: string;
private _open;
private itemsList;
private firstItem;
private lastItem;
/**
* Receives the component's name
* @param ugla: UglaService
* @param elementRef: ElementRef
* @param renderer: Render2
*/
constructor(ugla: UglaService, elementRef: ElementRef, renderer: Renderer2);
/**
* Current values
*/
current: {
description: string;
value: string;
checked: boolean;
color: string;
};
originalBackgroundColor: string;
originalZindex: any;
listenClick: () => void;
/**
* Set initials configurations
*/
ngOnInit(): void;
ngDoCheck(): void;
ngOnChanges(changes: SimpleChanges): void;
ngOnDestroy(): void;
/**
* Toggles the combobox.
*/
toggleCombobox(event: any): void;
open(): void;
close(): void;
onClick(): void;
/**
* Call selected event
* @param value input value
* @param event Event element
*/
selectedItem(value: any, event: any): void;
validate(element: any, value: any): void;
getTheme(): string;
setSelect(value: any, labelColor?: any, backgroundColor?: any): void;
/**
* Return a truncated value.
* @param value input value
*/
truncateValue(value: string): string;
/**
* Generate current option.
*
* @param currentOption past selected option
*/
truncateCurrentOption(currentOption: Options): Options;
setClass(color: string, backgroundColor: string): string;
setLabelColor(): void;
isOpened: () => boolean;
setFocus(current: any): void;
keydownEvent(event: KeyboardEvent, index: number): void;
private setFocusToPreviousItem;
private setFocusToNextItem;
/**
* Handles `Escape` key closing the dropdown, and arrow up/down focus to/from the dropdown list.
*/
hostkeys(ev: KeyboardEvent): void;
}