import { OnInit } from '@angular/core';
import { BaseInputDirective } from '../../../components/base/base-input/base-input.directive';
import { NumberInputType } from '../../../enums/number-input-type.enum';
import { type RuntimeNumberSignalField } from '../../../models/signal-field-types.model';
import { type UnitConversionConfig } from '../../../models/unit-conversion.model';
import * as i0 from "@angular/core";
export declare class SignalFormNumberFieldComponent<TModel extends object, K extends keyof TModel = keyof TModel> extends BaseInputDirective<RuntimeNumberSignalField<TModel, K>, TModel, K> implements OnInit {
    protected readonly NumberInputType: typeof NumberInputType;
    protected readonly currentUnit: import("@angular/core").WritableSignal<string>;
    protected readonly isEditing: import("@angular/core").WritableSignal<boolean>;
    protected readonly inputType: import("@angular/core").Signal<NumberInputType>;
    protected readonly hasUnitConversion: import("@angular/core").Signal<boolean>;
    protected readonly unitConfig: import("@angular/core").Signal<UnitConversionConfig | null>;
    protected readonly availableUnits: import("@angular/core").Signal<{
        label: string;
        convert: import("signal-template-forms").UnitConverter;
        parser?: import("signal-template-forms").UnitParser;
        key: string;
    }[]>;
    protected readonly unitPosition: import("@angular/core").Signal<import("signal-template-forms").UnitPosition>;
    protected readonly inputStep: import("@angular/core").Signal<number | "any">;
    protected readonly inputMin: import("@angular/core").Signal<number | undefined>;
    protected readonly inputMax: import("@angular/core").Signal<number | undefined>;
    protected readonly formattedValue: import("@angular/core").Signal<string>;
    protected readonly showFormattedValue: import("@angular/core").Signal<boolean>;
    protected readonly rawValue: import("@angular/core").Signal<string>;
    protected onFocusFormattedDisplay(): void;
    protected onBlurRawInput(): void;
    ngOnInit(): void;
    protected onUnitChange(newUnit: string): void;
    protected extractValue(el: HTMLInputElement): number;
    static ɵfac: i0.ɵɵFactoryDeclaration<SignalFormNumberFieldComponent<any, any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<SignalFormNumberFieldComponent<any, any>, "signal-form-number-field", never, {}, {}, never, never, true, never>;
}
