import { AbstractPureComponent, type HTMLInputProps, Position } from "@blueprintjs/core"; import type { InputSharedProps } from "@blueprintjs/core/src/components/forms/inputSharedProps"; export interface NumericInputProps extends InputSharedProps { allowNumericCharactersOnly?: boolean; asyncControl?: boolean; buttonPosition?: typeof Position.LEFT | typeof Position.RIGHT | "none"; clampValueOnBlur?: boolean; defaultValue?: number | string; large?: boolean; locale?: string; majorStepSize?: number | null; max?: number; min?: number; minorStepSize?: number | null; selectAllOnFocus?: boolean; selectAllOnIncrement?: boolean; small?: boolean; stepSize?: number; value?: number | string; onButtonClick?(valueAsNumber: number, valueAsString: string): void; onValueChange?(valueAsNumber: number, valueAsString: string, inputElement: HTMLInputElement | null): void; } export interface NumericInputState { currentImeInputInvalid: boolean; prevMinProp?: number; prevMaxProp?: number; shouldSelectAfterUpdate: boolean; value: string; } export declare class NumericInput extends AbstractPureComponent { static displayName: string; static VALUE_EMPTY: string; static VALUE_ZERO: string; private numericInputId; static defaultProps: NumericInputProps; static getDerivedStateFromProps(props: NumericInputProps, state: NumericInputState): { value: string; prevMaxProp: number | undefined; prevMinProp: number | undefined; }; private static CONTINUOUS_CHANGE_DELAY; private static CONTINUOUS_CHANGE_INTERVAL; private static roundAndClampValue; state: NumericInputState; private didPasteEventJustOccur; private delta; inputElement: HTMLInputElement | null; private inputRef; private intervalId?; private incrementButtonHandlers; private decrementButtonHandlers; private getCurrentValueAsNumber; render(): import("react/jsx-runtime").JSX.Element; componentDidUpdate(prevProps: NumericInputProps, prevState: NumericInputState): void; protected validateProps(nextProps: HTMLInputProps & NumericInputProps): void; private renderButtons; private renderInput; private getButtonEventHandlers; private handleButtonClick; private startContinuousChange; private stopContinuousChange; private handleContinuousChange; private handleInputFocus; private handleInputBlur; private handleInputKeyDown; private handleCompositionEnd; private handleCompositionUpdate; private handleInputKeyPress; private handleInputPaste; private handleInputChange; private handleNextValue; private incrementValue; private getIncrementDelta; private roundAndClampValue; private updateDelta; }