import { OnInit, AfterViewInit, ChangeDetectorRef } from '@angular/core';
import { BaseFieldDirective } from '../base-field/base-field.directive';
import { ValidatorFn } from '@angular/forms';
import { AppLocalizationService, ValidationRule } from '@laserfiche/lf-ui-components/internal-shared';
import { Observable } from 'rxjs';
import { LfFieldTokenService } from '../lf-field-token.service';
import * as i0 from "@angular/core";
export declare class NumberFieldComponent extends BaseFieldDirective implements OnInit, AfterViewInit {
    tokenService: LfFieldTokenService;
    ref: ChangeDetectorRef;
    localizationService: AppLocalizationService;
    private readonly NUMBER_FIELD_MUST_BE_VALID_NUMBER;
    private readonly SHORT_FIELDS_MUST_BE_INTEGERS_BETWEEN_0_64999;
    private readonly LONG_FIELDS_MUST_BE_INTEGERS_BETWEEN_0_3999999999;
    prefix: string | undefined;
    suffix: string | undefined;
    mask: string | undefined;
    thousandSeparator: string | undefined;
    decimalMarker: string | undefined;
    separatorLimit: string | undefined;
    focusState: boolean | undefined;
    constructor(tokenService: LfFieldTokenService, ref: ChangeDetectorRef, localizationService: AppLocalizationService);
    ngAfterViewInit(): void;
    onFocusIn(): void;
    onFocusOut(): void;
    onEveryInputChange(): void;
    protected fieldOnValueChanged(): void;
    getAdditionalValidatorsForFieldType(): ValidatorFn[];
    getValidationTextForFieldType(rule: ValidationRule): Observable<string> | undefined;
    private getNumericValidator;
    numberOnly(event: KeyboardEvent): void;
    serializeFieldFormControlValue(): string;
    deserializeLfFieldValue(): string;
    private getSeparator;
    private setMaskForNumber;
    static ɵfac: i0.ɵɵFactoryDeclaration<NumberFieldComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NumberFieldComponent, "lf-number-field-component", never, {}, {}, never, never, false, never>;
}
