import { BaseCustomWebComponentConstructorAppend, TypedEvent } from '@node-projects/base-custom-webcomponent';
export type { ParsedNumericStyleInputValue } from './NumericStyleInputValueHelpers.js';
export { parseNumericStyleInputValue, formatNumericStyleInputNumber, combineNumericStyleInputValue } from './NumericStyleInputValueHelpers.js';
export type NumericStyleInputValueChangedEventArgs = {
    newValue?: string;
    oldValue?: string;
};
export type NumericStyleInputPreviewFinishedEventArgs = {
    newValue?: string;
    oldValue?: string;
    wasCancelled?: boolean;
};
export type NumericStyleInputUnitValueConversionArgs = {
    value: number;
    numberText: string;
    rawValue: string;
    fromUnit: string;
    toUnit: string;
};
export declare class NumericStyleInput extends BaseCustomWebComponentConstructorAppend {
    static readonly style: CSSStyleSheet;
    static readonly template: HTMLTemplateElement;
    private _value;
    get value(): string;
    set value(value: string);
    valueChanged: TypedEvent<NumericStyleInputValueChangedEventArgs>;
    valuePreviewChanged: TypedEvent<NumericStyleInputValueChangedEventArgs>;
    valuePreviewFinished: TypedEvent<NumericStyleInputPreviewFinishedEventArgs>;
    private _units;
    get units(): string[];
    set units(value: string[]);
    private _fixedValues;
    get fixedValues(): string[];
    set fixedValues(value: string[]);
    private _step;
    get step(): number;
    set step(value: number);
    private _unitSteps;
    get unitSteps(): Record<string, number>;
    set unitSteps(value: Record<string, number>);
    private _min;
    get min(): number;
    set min(value: number);
    private _max;
    get max(): number;
    set max(value: number);
    private _readOnly;
    get readOnly(): boolean;
    set readOnly(value: boolean);
    get isInPreview(): boolean;
    private _allowCustomValue;
    get allowCustomValue(): boolean;
    set allowCustomValue(value: boolean);
    private _unitValueConverter;
    get unitValueConverter(): (args: NumericStyleInputUnitValueConversionArgs) => string;
    set unitValueConverter(value: (args: NumericStyleInputUnitValueConversionArgs) => string);
    private _input;
    private _select;
    private _measure;
    private _scrubberButton;
    private _increaseButton;
    private _decreaseButton;
    private _lastNumericValue;
    private _lastNumericUnit;
    private _dragPointerId;
    private _dragStartY;
    private _dragStartNumericValue;
    private _appliedDragSteps;
    private _previewStartValue;
    private _previewChanged;
    private _displayValueLock;
    private _stepperPointerId;
    private _stepperDirection;
    private _stepperRepeatTimeout;
    private _stepperRepeatInterval;
    private _windowDragPointerMoveHandler;
    private _windowDragPointerUpHandler;
    private _windowDragPointerCancelHandler;
    private _windowDragBlurHandler;
    private _windowPointerUpHandler;
    private _windowPointerCancelHandler;
    private _windowBlurHandler;
    private _preferCustomMode;
    constructor();
    ready(): void;
    private _wireEvents;
    private _handlePointerDown;
    private _handleWindowDragPointerMove;
    private _finishDragInteractionForPointerEvent;
    private _finishDragInteraction;
    private _handleStepperPointerDown;
    private _handleWindowStepperPointerEnd;
    private _finishStepperInteraction;
    private _applySelectedMode;
    private _applyTypedValue;
    private _updateValue;
    private _getDisplayState;
    private _createCustomDisplayState;
    private _renderSelectOptions;
    private _createOption;
    private _autoSizeSelect;
    private _applyReadonlyState;
    private _convertNumericValue;
    private _resolveCurrentValueForUnit;
    private _readEditableNumericValue;
    private _applyNumericValue;
    private _previewNumericValue;
    private _commitValue;
    private _setValue;
    private _startPreviewSession;
    private _finishPreviewSession;
    private _applyStepPreview;
    private _stopStepperRepeat;
    private _attachStepperWindowListeners;
    private _attachDragWindowListeners;
    private _detachStepperWindowListeners;
    private _detachDragWindowListeners;
    private _calculateDraggedStepCount;
    private _getEffectiveStep;
    private _getInteractiveStepValue;
    private _formatInteractiveNumericValue;
    private _roundToStepPrecision;
    private _getStepPrecision;
    private _switchToUnitModeForInteraction;
    private _isSelectedUnitMode;
    private _normalizeOptionValues;
    private _clampNumericValue;
}
