import { EventEmitter, OnInit, OnChanges, SimpleChanges, Renderer2, ElementRef } from '@angular/core';
import { CodeName } from '../../models/code-name';
import { UglaService } from '../../ugla.service';
/**
* Field
*
* @example
*
*/
export declare class FieldComponent implements OnInit, OnChanges {
private ugla;
protected elementRef: ElementRef;
private renderer;
/**
* Types: text, textarea, number, email, search, password, tel, url, time, datetime-local, month, week, file
*
* For type date, use another component: [DatepickerComponent](/components/DatepickerComponent.html)
*
* Default: text
*/
type: string;
/**
* Input name. It's use on id too
*/
name: string;
/**
* Set label
*/
label: string;
/**
* Set initial value
*/
set value(val: string);
get value(): string;
private _value;
/**
* Set limit characters.
*
* If set, show count
*
* Default: 1000
*/
maxLength: number;
/**
* Set min value (for type number or date)
*/
min: string;
/**
* Set max value (for type number or date)
*/
max: string;
/**
* Set a list of objects CodeName
*/
autoCompleteOptions: CodeName[];
/**
* Set message
*/
set message(value: string);
/**
* Get message
*/
get message(): string;
/**
* Intenal property for message
*/
private _message;
/**
* Is disabled?
*
* Default: false
*/
disabled: boolean;
/**
* Is required
*
* Default: false
*/
required: boolean;
/**
* Is multiple file
*
* Use only type file
*
* Default: false
*
*/
multiple: boolean;
/**
* Z-index of the field. Optional.
*
* Default: 3
*/
zindex: number;
/**
* Number of digits for start search on list. Optional.
*
* Default: 1
*/
autocompleteStartDigits: number;
/**
* Is invalid
*
* Default: false
*/
set invalid(value: boolean);
get invalid(): boolean;
private _invalid;
/**
* Message for invalid selection
*
* Default: Form.REQUIRED
*/
messageRequired: string;
/**
* This property show the counter
*
* Default: false
*/
counter: boolean;
/**
* Allow set field readonly
* Use as needed to assure a disabled look and feel, but still readable by accessibility's screen readers.
* Default: false
*/
readonly: boolean;
/**
* Allowing decimal values in number input type:
* If true: Any number is an acceptable value, as long as it is a valid floating point number;
* If false: only integer numbers are acceptable;
*
* Valid only for input type=number
* Default: true;
*/
allowDecimal: boolean;
/**
* This property show the counter
*
* Default: false
*/
rows: number;
/**
* Autocomplete for field. Options are 'on' and 'off'.
*
* Default: off
*/
autocomplete: string;
/**
* @ignore
*/
num: number;
/**
* @ignore
*/
charCounter: string;
/**
* List classes
*/
groupClass: string;
/**
* Original message
*/
originalMessage: string;
/**
* Event emitter to value changes
*/
onChangeValue: EventEmitter;
validateEmail: boolean;
listenClick: () => void;
/**
* Classes of the component
*/
classes: string;
/**
* @ignore
*/
private theme;
/**
* @ignore
*/
constructor(ugla: UglaService, elementRef: ElementRef, renderer: Renderer2);
allAutocompleteOptions: CodeName[];
autocompleteSelectedIndex: any;
inputAutocompleteSelected: CodeName;
autocompleteRandomID: string;
/**
* Event keyup input
* @param event is a Event value
*/
keyupHandler(event: any): void;
/**
* Event on change input
* @param event is a Event value
*/
changeHandler(event: any): void;
/**
* Event focus out
* @param event is a Event value
*/
focusoutHandler(event: any): void;
validateField(currentTarget: HTMLInputElement): void;
validateFieldComponent(currentTarget: FieldComponent): void;
focusinHandler(): void;
/**
* Set initials configurations
*/
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
inputValidation(event: any): void;
validateUrl(value: any): boolean;
private removeDecimal;
getRandomID(): string;
onValueChange(event: any, search: HTMLInputElement): void;
reset(): void;
onBlur(labelInput: HTMLInputElement, search: HTMLInputElement): void;
onClick(option: CodeName, inputSearch: HTMLInputElement): void;
onScroll(event: any): void;
onArrowDown(event: any): void;
onArrowUp(event: any): void;
onEnter(event: any): void;
}