import { ChangeDetectorRef, ElementRef, EventEmitter, QueryList, SimpleChanges, TemplateRef } from '@angular/core';
import { ControlValueAccessor } from '@angular/forms';
import * as i0 from "@angular/core";
import * as i1 from "@angular/common";
import * as i2 from "primeng/inputtext";
import * as i3 from "primeng/button";
import * as i4 from "primeng/icons/times";
import * as i5 from "primeng/icons/angleup";
import * as i6 from "primeng/icons/angledown";
import * as i7 from "primeng/api";
export declare const INPUTNUMBER_VALUE_ACCESSOR: any;
export declare class InputNumber implements ControlValueAccessor {
    private document;
    el: ElementRef;
    private cd;
    showButtons: boolean;
    format: boolean;
    buttonLayout: string;
    inputId: string;
    styleClass: string;
    style: any;
    placeholder: string;
    size: number;
    maxlength: number;
    tabindex: string;
    title: string;
    ariaLabel: string;
    ariaRequired: boolean;
    name: string;
    required: boolean;
    autocomplete: string;
    min: number;
    max: number;
    incrementButtonClass: string;
    decrementButtonClass: string;
    incrementButtonIcon: string;
    decrementButtonIcon: string;
    readonly: boolean;
    step: number;
    allowEmpty: boolean;
    locale: string;
    localeMatcher: string;
    mode: string;
    currency: string;
    currencyDisplay: string;
    useGrouping: boolean;
    minFractionDigits: number;
    maxFractionDigits: number;
    prefix: string;
    suffix: string;
    inputStyle: any;
    inputStyleClass: string;
    showClear: boolean;
    input: ElementRef;
    onInput: EventEmitter<any>;
    onFocus: EventEmitter<any>;
    onBlur: EventEmitter<any>;
    onKeyDown: EventEmitter<any>;
    onClear: EventEmitter<any>;
    templates: QueryList<any>;
    clearIconTemplate: TemplateRef<any>;
    incrementButtonIconTemplate: TemplateRef<any>;
    decrementButtonIconTemplate: TemplateRef<any>;
    value: number;
    onModelChange: Function;
    onModelTouched: Function;
    focused: boolean;
    initialized: boolean;
    groupChar: string;
    prefixChar: string;
    suffixChar: string;
    isSpecialChar: boolean;
    timer: any;
    lastValue: string;
    _numeral: any;
    numberFormat: any;
    _decimal: any;
    _group: any;
    _minusSign: any;
    _currency: any;
    _prefix: any;
    _suffix: any;
    _index: any;
    _disabled: boolean;
    get disabled(): boolean;
    set disabled(disabled: boolean);
    constructor(document: Document, el: ElementRef, cd: ChangeDetectorRef);
    ngOnChanges(simpleChange: SimpleChanges): void;
    ngAfterContentInit(): void;
    ngOnInit(): void;
    getOptions(): {
        localeMatcher: string;
        style: string;
        currency: string;
        currencyDisplay: string;
        useGrouping: boolean;
        minimumFractionDigits: number;
        maximumFractionDigits: number;
    };
    constructParser(): void;
    updateConstructParser(): void;
    escapeRegExp(text: any): any;
    getDecimalExpression(): RegExp;
    getGroupingExpression(): RegExp;
    getMinusSignExpression(): RegExp;
    getCurrencyExpression(): RegExp;
    getPrefixExpression(): RegExp;
    getSuffixExpression(): RegExp;
    formatValue(value: any): any;
    parseValue(text: any): any;
    repeat(event: any, interval: any, dir: any): void;
    spin(event: any, dir: any): void;
    clear(): void;
    onUpButtonMouseDown(event: any): void;
    onUpButtonMouseUp(): void;
    onUpButtonMouseLeave(): void;
    onUpButtonKeyDown(event: any): void;
    onUpButtonKeyUp(): void;
    onDownButtonMouseDown(event: any): void;
    onDownButtonMouseUp(): void;
    onDownButtonMouseLeave(): void;
    onDownButtonKeyUp(): void;
    onDownButtonKeyDown(event: any): void;
    onUserInput(event: any): void;
    onInputKeyDown(event: any): void;
    onInputKeyPress(event: any): void;
    onPaste(event: any): void;
    allowMinusSign(): boolean;
    isMinusSign(char: any): boolean;
    isDecimalSign(char: any): boolean;
    isDecimalMode(): boolean;
    getDecimalCharIndexes(val: any): {
        decimalCharIndex: any;
        decimalCharIndexWithoutPrefix: any;
    };
    getCharIndexes(val: any): {
        decimalCharIndex: any;
        minusCharIndex: any;
        suffixCharIndex: any;
        currencyCharIndex: any;
    };
    insert(event: any, text: any, sign?: {
        isDecimalSign: boolean;
        isMinusSign: boolean;
    }): void;
    insertText(value: any, text: any, start: any, end: any): any;
    deleteRange(value: any, start: any, end: any): any;
    initCursor(): any;
    onInputClick(): void;
    isNumeralChar(char: any): boolean;
    resetRegex(): void;
    updateValue(event: any, valueStr: any, insertedValueStr: any, operation: any): void;
    handleOnInput(event: any, currentValue: any, newValue: any): void;
    isValueChanged(currentValue: any, newValue: any): boolean;
    validateValue(value: any): any;
    updateInput(value: any, insertedValueStr: any, operation: any, valueStr: any): void;
    concatValues(val1: any, val2: any): any;
    getDecimalLength(value: any): any;
    onInputFocus(event: any): void;
    onInputBlur(event: any): void;
    formattedValue(): any;
    updateModel(event: any, value: any): void;
    writeValue(value: any): void;
    registerOnChange(fn: Function): void;
    registerOnTouched(fn: Function): void;
    setDisabledState(val: boolean): void;
    get filled(): boolean;
    clearTimer(): void;
    getFormatter(): any;
    static ɵfac: i0.ɵɵFactoryDeclaration<InputNumber, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<InputNumber, "p-inputNumber", never, { "showButtons": "showButtons"; "format": "format"; "buttonLayout": "buttonLayout"; "inputId": "inputId"; "styleClass": "styleClass"; "style": "style"; "placeholder": "placeholder"; "size": "size"; "maxlength": "maxlength"; "tabindex": "tabindex"; "title": "title"; "ariaLabel": "ariaLabel"; "ariaRequired": "ariaRequired"; "name": "name"; "required": "required"; "autocomplete": "autocomplete"; "min": "min"; "max": "max"; "incrementButtonClass": "incrementButtonClass"; "decrementButtonClass": "decrementButtonClass"; "incrementButtonIcon": "incrementButtonIcon"; "decrementButtonIcon": "decrementButtonIcon"; "readonly": "readonly"; "step": "step"; "allowEmpty": "allowEmpty"; "locale": "locale"; "localeMatcher": "localeMatcher"; "mode": "mode"; "currency": "currency"; "currencyDisplay": "currencyDisplay"; "useGrouping": "useGrouping"; "minFractionDigits": "minFractionDigits"; "maxFractionDigits": "maxFractionDigits"; "prefix": "prefix"; "suffix": "suffix"; "inputStyle": "inputStyle"; "inputStyleClass": "inputStyleClass"; "showClear": "showClear"; "disabled": "disabled"; }, { "onInput": "onInput"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onKeyDown": "onKeyDown"; "onClear": "onClear"; }, ["templates"], never, false, never>;
}
export declare class InputNumberModule {
    static ɵfac: i0.ɵɵFactoryDeclaration<InputNumberModule, never>;
    static ɵmod: i0.ɵɵNgModuleDeclaration<InputNumberModule, [typeof InputNumber], [typeof i1.CommonModule, typeof i2.InputTextModule, typeof i3.ButtonModule, typeof i4.TimesIcon, typeof i5.AngleUpIcon, typeof i6.AngleDownIcon], [typeof InputNumber, typeof i7.SharedModule]>;
    static ɵinj: i0.ɵɵInjectorDeclaration<InputNumberModule>;
}
