import { AfterViewInit, ElementRef, OnDestroy, OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { AbstractControl } from '@angular/forms';
import { PoInputBaseComponent } from '../po-input/po-input-base.component';
/**
*
* @docsExtends PoInputBaseComponent
*
* @description
*
* - O `po-decimal` é um *input* específico para receber apenas números decimais, por isso recebe as seguintes características:
* + Aceita apenas números;
* + Utiliza ',' como separador de decimal;
* + Utiliza '.' para separação de milhar;
* + É possível configurar a quantidade de casas decimais e a quantidade de digitos do campo.
*
* > **Importante:**
* Atualmente o JavaScript limita-se a um conjunto de dados de `32 bits`, e para que os valores comportem-se devidamente,
* o `po-decimal` contém um tratamento que limita em 16 o número total de casas antes e após a vírgula.
* Veja abaixo as demais regras nas documentações de `p-decimals-length` e `p-thousand-maxlength`.
*
* @example
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*/
export declare class PoDecimalComponent extends PoInputBaseComponent implements AfterViewInit, OnInit, OnDestroy, OnChanges {
private readonly el;
private readonly poLanguageService;
inputEl: ElementRef;
id: string;
private _decimalsLength?;
private _thousandMaxlength?;
private _locale?;
private _min?;
private _max?;
private decimalSeparator;
private fireChange;
private readonly isKeyboardAndroid;
private readonly minusSign;
private oldDotsLength;
private thousandSeparator;
private valueBeforeChange;
private subscriptionValidator;
private regex;
get autocomplete(): "off" | "on";
/**
* @optional
*
* @description
*
* Quantidade máxima de casas decimais.
*
* > **Importante:**
* - O valor máximo permitido é 15;
* - A soma total de `p-decimals-length` com `p-thousand-maxlength` limita-se à 16;
* - Esta propriedade sobrepõe apenas o valor **padrão** de `p-thousand-maxlength`;
* - Caso `p-thousand-maxlength` tenha um valor definido, esta propriedade poderá receber apenas o valor restante do limite total (16).
*
* @default `2`
*/
set decimalsLength(value: number);
get decimalsLength(): number;
/**
* @optional
*
* @description
*
* Quantidade máxima de dígitos antes do separador decimal.
*
* > **Importante:**
* - O valor máximo permitido é 13;
* - A soma total de `p-decimals-length` com `p-thousand-maxlength` limita-se à 16;
* - Esta propriedade sobrepõe o valor definido em `p-decimals-length`.
*
* @default `13`
*/
set thousandMaxlength(value: number);
get thousandMaxlength(): number;
/**
* @optional
*
* @description
*
* Informa o locale(país) para a formatação do valor.
* Por padrão o valor será configurado segundo a o módulo [`I18n`](documentation/po-i18n)
*
* > Para ver quais linguagens suportadas acesse [`I18n`](documentation/po-i18n)
*
*/
set locale(locale: string);
/**
* @optional
*
* @description
*
* Valor mínimo.
*/
set min(value: number);
get min(): number;
/**
* @optional
*
* @description
*
* Valor máximo.
*/
set max(value: number);
get max(): number;
constructor();
ngOnInit(): void;
ngOnChanges(changes: SimpleChanges): void;
setNumbersSeparators(): void;
ngAfterViewInit(): void;
ngOnDestroy(): void;
clear(value: any): void;
extraValidation(abstractControl: AbstractControl): {
[key: string]: any;
};
focus(): void;
getScreenValue(): any;
hasInvalidClass(): boolean;
hasLetters(value?: string): RegExpMatchArray;
hasNotSpace(value?: string): RegExpMatchArray;
isValidNumber(event: any): boolean;
onBlur(event: any): void;
onFocus(event: FocusEvent): void;
onInput(event: any): void;
onInputKeyboardAndroid(event: any): any;
onKeyDown(event: KeyboardEvent): void;
onKeyPress(event: KeyboardEvent): void;
writeValueModel(value: any): void;
getErrorPatternMessage(): string;
private addZeroBefore;
setHelper(label?: string, additionalHelpTooltip?: string): {
hideAdditionalHelp: boolean;
helperSettings?: any;
};
private containsComma;
private containsMoreThanOneDecimalSeparator;
private controlChangeEmitter;
private formatMask;
private formatToModelValue;
private formatToViewValue;
private formatValueWithoutThousandSeparator;
private getValueAfterSeparator;
private getValueBeforeSeparator;
private hasLessDot;
private hasMoreDot;
private hasMinusSignInvalidPosition;
private isInvalidKey;
private isGreaterThanTotalLengthLimit;
private isKeyDecimalSeparator;
private isPositionAfterDecimalSeparator;
private isSelectionStartDifferentSelectionEnd;
private isValidKey;
private isValueBetweenAllowed;
private verifyDecimalLengthIsZeroAndKeyPressedIsComma;
private verifyAutoFocus;
private setInitialSelectionRange;
private replaceAt;
private replaceCommaToDot;
private setCursorInput;
private setPositionValue;
private setViewValue;
private validateCursorPositionBeforeSeparator;
private verifyErrorAsync;
private verifyThousandLength;
private verifyInsertComma;
private verifyInsertMinusSign;
private verifyValueAfterComma;
}