import { ElementRef, EventEmitter, OnDestroy, Renderer2 } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { KbqLocaleService, KbqNumberInputLocaleConfig } from '@koobiq/components/core'; import { KbqFormFieldControl } from '@koobiq/components/form-field'; import { Subject } from 'rxjs'; import * as i0 from "@angular/core"; export declare const KBQ_INPUT_NUMBER_DEFAULT_CONFIGURATION: { groupSeparator: string[]; fractionSeparator: string; startFormattingFrom: number; viewGroupSeparator: string; }; export declare const BIG_STEP = 10; export declare const SMALL_STEP = 1; export declare function normalizeSplitter(value: string): string; export declare function isFloat(value: string): boolean; export declare function isInt(value: string): boolean; export declare function isDigit(value: string): boolean; export declare function getPrecision(value: number): number; export declare function add(value1: number, value2: number): number; export declare const KBQ_NUMBER_INPUT_VALUE_ACCESSOR: any; export declare class KbqNumberInput implements KbqFormFieldControl, ControlValueAccessor, OnDestroy { private elementRef; private readonly renderer; private localeService?; /** Emits when the value changes (either due to user input or programmatic change). */ valueChange: EventEmitter; /** Emits when the disabled state has changed */ disabledChange: EventEmitter; readonly stateChanges: Subject; id: string; placeholder: string; empty: boolean; required: boolean; errorState: boolean; controlType?: string | undefined; /** * Allows input and pasting of integers only. */ integer: boolean; bigStep: number; step: number; min: number; max: number; withThousandSeparator: boolean; /** * Include thousand separator from custom index. For example, it will be useful in tables. */ startFormattingFrom?: number; get value(): number | null; set value(value: number | null); private _value; get disabled(): boolean; set disabled(value: boolean); private _disabled; focused: boolean; get nativeElement(): HTMLInputElement; get viewValue(): string; get ngControl(): any; protected get fractionSeparator(): KbqNumberInputLocaleConfig['fractionSeparator']; protected get groupSeparator(): KbqNumberInputLocaleConfig['groupSeparator']; private control; private config; private valueFromPaste; constructor(elementRef: ElementRef, renderer: Renderer2, step: string, bigStep: string, min: string, max: string, localeService?: KbqLocaleService | undefined); ngOnDestroy(): void; onContainerClick(): void; focus(): void; writeValue(value: number | null): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(isDisabled: boolean): void; focusChanged(isFocused: boolean): void; onTouched: () => void; onKeyDown(event: KeyboardEvent): void; onInput(event: InputEvent): void; onPaste(event: ClipboardEvent): void; stepUp(step: number): void; stepDown(step: number): void; private initDefaultParams; private isCtrlV; private isCtrlX; private isCtrlZ; private isPeriod; private cvaOnChange; private setViewValue; private viewToModelUpdate; private formatViewValue; private formatNumber; private createLocalizedNumberFromParts; private updateLocaleParams; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; static ngAcceptInputType_integer: unknown; static ngAcceptInputType_withThousandSeparator: unknown; }