import * as _angular_core from '@angular/core'; import { OnDestroy, OnInit, AfterViewInit, ElementRef, TemplateRef, EventEmitter } from '@angular/core'; import { FormGroup, FormControl, FormGroupDirective, NgForm } from '@angular/forms'; import { ErrorStateMatcher } from '@angular/material/core'; import { MatFormFieldAppearance, FloatLabelType } from '@angular/material/form-field'; import { SdInlineText } from '@sdcorejs/angular/forms/inline-text'; import { SdViewDefDirective, SdSuffixDefDirective } from '@sdcorejs/angular/forms/directives'; import { SdViewed, SdViewedInput, SdCustomValidator, SdFormControl } from '@sdcorejs/angular/forms/models'; import { Size } from '@sdcorejs/utils/models'; declare class SdInputNumberErrotStateMatcher implements ErrorStateMatcher { private formControl; constructor(formControl: FormControl); isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean; } declare class SdInputNumber implements OnDestroy, OnInit, AfterViewInit { #private; id: string; control: _angular_core.Signal | undefined>; /** The inline primitive — only present when `viewed='inline'`; drives focus/blur in that mode. */ inlineRef: _angular_core.Signal; sdLabelTemplate: _angular_core.Signal | undefined>; sdValueTemplate: _angular_core.Signal | undefined>; sdViewDef: _angular_core.Signal | undefined>; sdSuffixDef: _angular_core.Signal; private ref; private coreConfiguration; private formConfig; autoIdInput: _angular_core.InputSignal; autoId: _angular_core.Signal; readonly dataDisabled: _angular_core.Signal<"true" | "false">; readonly dataInvalid: _angular_core.Signal<"true" | "false">; readonly dataEmpty: _angular_core.Signal<"true" | "false">; readonly dataValue: _angular_core.Signal; readonly dataRequired: _angular_core.Signal<"true" | "false">; readonly dataErrorMessage: _angular_core.Signal; name: _angular_core.InputSignal; size: _angular_core.InputSignal; form: _angular_core.InputSignalWithTransform | undefined, any>; label: _angular_core.InputSignal; helperText: _angular_core.InputSignal; placeholder: _angular_core.InputSignal; hideInlineError: _angular_core.InputSignalWithTransform; blurOnEnter: _angular_core.InputSignalWithTransform; /** Whether to show the value-gated clear button in edit and inline modes. */ clearable: _angular_core.InputSignalWithTransform; required: _angular_core.InputSignalWithTransform; readonly: _angular_core.InputSignalWithTransform; disabled: _angular_core.InputSignalWithTransform; /** Display mode: `false` edit · `true` static view · `'inline'` borderless inline-edit (input IS the face). */ viewed: _angular_core.InputSignalWithTransform; /** `true` when `viewed === 'inline'`. */ readonly isInline: _angular_core.Signal; /** `true` when `viewed === true` (static view, no input). */ readonly isViewed: _angular_core.Signal; /** Focus the inline input. No-op unless `viewed='inline'`. */ enterInlineEdit: () => void; /** View display template: `sdViewDef` overrides the projected `#sdValue` for the static view (unified). */ readonly viewTemplate: _angular_core.Signal | undefined>; type: _angular_core.InputSignal<"negative" | "positive" | undefined>; precision: _angular_core.InputSignal; format: _angular_core.InputSignal<"1,234,567.89" | "1.234.567,89" | undefined>; min: _angular_core.InputSignalWithTransform; max: _angular_core.InputSignalWithTransform; validator: _angular_core.InputSignal; inlineError: _angular_core.InputSignal; /** * Tổng hợp error message để hiển thị trong tooltip khi hideInlineError = true. */ readonly errorMessage: _angular_core.Signal; hyperlink: _angular_core.InputSignal; appearanceInput: _angular_core.InputSignal; appearance: _angular_core.Signal; floatLabel: _angular_core.InputSignal; valueModel: _angular_core.ModelSignal; sdChange: _angular_core.OutputEmitterRef; sdFocus: _angular_core.OutputEmitterRef; sdBlur: _angular_core.OutputEmitterRef; keyupEnter: _angular_core.OutputEmitterRef; cleared: _angular_core.OutputEmitterRef; readonly sdFocusForceBlur: EventEmitter; formControl: SdFormControl; inputControl: SdFormControl; matcher: SdInputNumberErrotStateMatcher; isFocused: boolean; decimalSeparator: _angular_core.Signal<"." | ",">; thousandsSeparator: _angular_core.Signal<"." | ",">; regexPattern: _angular_core.Signal; constructor(); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; reValidate: () => void; showClear: () => boolean; clear: ($event?: Event) => void; onKeyupEnter: () => void; onKeydown: (event: KeyboardEvent) => void; onPaste(event: ClipboardEvent): void; onCompositionEnd(event: CompositionEvent): void; onCompositionStart(event: CompositionEvent): void; onFocus: () => void; onBlur: () => void; onClick: () => void; blur: () => void; focus: () => void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } export { SdInputNumber };