import * as _angular_core from '@angular/core';
import { OnInit, OnChanges, SimpleChanges } from '@angular/core';
import { ControlValueAccessor, NgControl, Validators } from '@angular/forms';
import { InputNumber } from 'primeng/inputnumber';
import { isInvalid } from '@masterteam/components';

declare class NumberField implements ControlValueAccessor, OnInit, OnChanges {
    inputNumber: InputNumber;
    readonly field: _angular_core.InputSignal<boolean>;
    readonly label: _angular_core.InputSignal<string | undefined>;
    readonly placeholder: _angular_core.InputSignal<string | undefined>;
    readonly class: _angular_core.InputSignal<string>;
    readonly readonly: _angular_core.InputSignal<boolean>;
    readonly pInputs: _angular_core.InputSignal<Partial<InputNumber> | undefined>;
    readonly format: _angular_core.InputSignal<boolean>;
    readonly useGrouping: _angular_core.InputSignal<boolean>;
    readonly maxFractionDigits: _angular_core.InputSignal<number>;
    readonly min: _angular_core.InputSignal<number>;
    readonly max: _angular_core.InputSignal<number>;
    readonly required: _angular_core.InputSignal<boolean>;
    styleClass: string;
    ngControl: NgControl;
    isInvalid: typeof isInvalid;
    requiredValidator: typeof Validators.required;
    value: _angular_core.WritableSignal<number | null>;
    disabled: _angular_core.WritableSignal<boolean>;
    onTouched: () => void;
    onModelChange: (value: number | null) => void;
    constructor();
    applyInputsToInputNumber(): void;
    ngOnInit(): void;
    onValueChange(value: number | null): void;
    ngOnChanges(changes: SimpleChanges): void;
    writeValue(value: number | null): void;
    registerOnChange(fn: any): void;
    registerOnTouched(fn: any): void;
    setDisabledState(disabled: boolean): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberField, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<NumberField, "mt-number-field", never, { "field": { "alias": "field"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "class": { "alias": "class"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "pInputs": { "alias": "pInputs"; "required": false; "isSignal": true; }; "format": { "alias": "format"; "required": false; "isSignal": true; }; "useGrouping": { "alias": "useGrouping"; "required": false; "isSignal": true; }; "maxFractionDigits": { "alias": "maxFractionDigits"; "required": false; "isSignal": true; }; "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
}

export { NumberField };
