/*!
 * devextreme-vue
 * Version: 25.2.7
 * Build date: Tue May 05 2026
 *
 * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED
 *
 * This software may be modified and distributed under the terms
 * of the MIT license. See the LICENSE file in the root of the project for details.
 *
 * https://github.com/DevExpress/DevExtreme
 */

import { PropType } from "vue";
import NumberBox, { Properties } from "devextreme/ui/number_box";
import { NumberBoxPredefinedButton, NumberBoxType, ChangeEvent, ContentReadyEvent, CopyEvent, CutEvent, DisposingEvent, EnterKeyEvent, FocusInEvent, FocusOutEvent, InitializedEvent, InputEvent, KeyDownEvent, KeyUpEvent, OptionChangedEvent, PasteEvent, ValueChangedEvent } from "devextreme/ui/number_box";
import { TextEditorButton, LabelMode, EditorStyle, ValidationMessageMode, Position, ValidationStatus, TextEditorButtonLocation, ButtonStyle } from "devextreme/common";
import { dxButtonOptions, ClickEvent, ContentReadyEvent as ButtonContentReadyEvent, DisposingEvent as ButtonDisposingEvent, InitializedEvent as ButtonInitializedEvent, OptionChangedEvent as ButtonOptionChangedEvent } from "devextreme/ui/button";
type AccessibleOptions = Pick<Properties, "accessKey" | "activeStateEnabled" | "buttons" | "disabled" | "elementAttr" | "focusStateEnabled" | "format" | "height" | "hint" | "hoverStateEnabled" | "inputAttr" | "invalidValueMessage" | "isDirty" | "isValid" | "label" | "labelMode" | "max" | "min" | "mode" | "name" | "onChange" | "onContentReady" | "onCopy" | "onCut" | "onDisposing" | "onEnterKey" | "onFocusIn" | "onFocusOut" | "onInitialized" | "onInput" | "onKeyDown" | "onKeyUp" | "onOptionChanged" | "onPaste" | "onValueChanged" | "placeholder" | "readOnly" | "rtlEnabled" | "showClearButton" | "showSpinButtons" | "step" | "stylingMode" | "tabIndex" | "text" | "useLargeSpinButtons" | "validationError" | "validationErrors" | "validationMessageMode" | "validationMessagePosition" | "validationStatus" | "value" | "valueChangeEvent" | "visible" | "width">;
interface DxNumberBox extends AccessibleOptions {
    readonly instance?: NumberBox;
}
declare const DxNumberBox: import("vue").DefineComponent<{
    accessKey: StringConstructor;
    activeStateEnabled: BooleanConstructor;
    buttons: PropType<(TextEditorButton | NumberBoxPredefinedButton)[]>;
    disabled: BooleanConstructor;
    elementAttr: PropType<Record<string, any>>;
    focusStateEnabled: BooleanConstructor;
    format: PropType<string | Record<string, any> | import("devextreme/common/core/localization").FormatObject | ((value: number | Date) => string) | ((value: Date) => string) | ((value: number) => string) | Intl.DateTimeFormatOptions | Intl.NumberFormatOptions | ((value: number | Date) => string) | undefined>;
    height: (NumberConstructor | StringConstructor)[];
    hint: StringConstructor;
    hoverStateEnabled: BooleanConstructor;
    inputAttr: {};
    invalidValueMessage: StringConstructor;
    isDirty: BooleanConstructor;
    isValid: BooleanConstructor;
    label: StringConstructor;
    labelMode: PropType<LabelMode>;
    max: NumberConstructor;
    min: NumberConstructor;
    mode: PropType<NumberBoxType>;
    name: StringConstructor;
    onChange: PropType<(e: ChangeEvent) => void>;
    onContentReady: PropType<(e: ContentReadyEvent) => void>;
    onCopy: PropType<(e: CopyEvent) => void>;
    onCut: PropType<(e: CutEvent) => void>;
    onDisposing: PropType<(e: DisposingEvent) => void>;
    onEnterKey: PropType<(e: EnterKeyEvent) => void>;
    onFocusIn: PropType<(e: FocusInEvent) => void>;
    onFocusOut: PropType<(e: FocusOutEvent) => void>;
    onInitialized: PropType<(e: InitializedEvent) => void>;
    onInput: PropType<(e: InputEvent) => void>;
    onKeyDown: PropType<(e: KeyDownEvent) => void>;
    onKeyUp: PropType<(e: KeyUpEvent) => void>;
    onOptionChanged: PropType<(e: OptionChangedEvent) => void>;
    onPaste: PropType<(e: PasteEvent) => void>;
    onValueChanged: PropType<(e: ValueChangedEvent) => void>;
    placeholder: StringConstructor;
    readOnly: BooleanConstructor;
    rtlEnabled: BooleanConstructor;
    showClearButton: BooleanConstructor;
    showSpinButtons: BooleanConstructor;
    step: NumberConstructor;
    stylingMode: PropType<EditorStyle>;
    tabIndex: NumberConstructor;
    text: StringConstructor;
    useLargeSpinButtons: BooleanConstructor;
    validationError: {};
    validationErrors: PropType<any[]>;
    validationMessageMode: PropType<ValidationMessageMode>;
    validationMessagePosition: PropType<Position>;
    validationStatus: PropType<ValidationStatus>;
    value: NumberConstructor;
    valueChangeEvent: StringConstructor;
    visible: BooleanConstructor;
    width: (NumberConstructor | StringConstructor)[];
}, unknown, unknown, {
    instance(): NumberBox;
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:isActive": null;
    "update:hoveredElement": null;
    "update:accessKey": null;
    "update:activeStateEnabled": null;
    "update:buttons": null;
    "update:disabled": null;
    "update:elementAttr": null;
    "update:focusStateEnabled": null;
    "update:format": null;
    "update:height": null;
    "update:hint": null;
    "update:hoverStateEnabled": null;
    "update:inputAttr": null;
    "update:invalidValueMessage": null;
    "update:isDirty": null;
    "update:isValid": null;
    "update:label": null;
    "update:labelMode": null;
    "update:max": null;
    "update:min": null;
    "update:mode": null;
    "update:name": null;
    "update:onChange": null;
    "update:onContentReady": null;
    "update:onCopy": null;
    "update:onCut": null;
    "update:onDisposing": null;
    "update:onEnterKey": null;
    "update:onFocusIn": null;
    "update:onFocusOut": null;
    "update:onInitialized": null;
    "update:onInput": null;
    "update:onKeyDown": null;
    "update:onKeyUp": null;
    "update:onOptionChanged": null;
    "update:onPaste": null;
    "update:onValueChanged": null;
    "update:placeholder": null;
    "update:readOnly": null;
    "update:rtlEnabled": null;
    "update:showClearButton": null;
    "update:showSpinButtons": null;
    "update:step": null;
    "update:stylingMode": null;
    "update:tabIndex": null;
    "update:text": null;
    "update:useLargeSpinButtons": null;
    "update:validationError": null;
    "update:validationErrors": null;
    "update:validationMessageMode": null;
    "update:validationMessagePosition": null;
    "update:validationStatus": null;
    "update:value": null;
    "update:valueChangeEvent": null;
    "update:visible": null;
    "update:width": null;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    accessKey: StringConstructor;
    activeStateEnabled: BooleanConstructor;
    buttons: PropType<(TextEditorButton | NumberBoxPredefinedButton)[]>;
    disabled: BooleanConstructor;
    elementAttr: PropType<Record<string, any>>;
    focusStateEnabled: BooleanConstructor;
    format: PropType<string | Record<string, any> | import("devextreme/common/core/localization").FormatObject | ((value: number | Date) => string) | ((value: Date) => string) | ((value: number) => string) | Intl.DateTimeFormatOptions | Intl.NumberFormatOptions | ((value: number | Date) => string) | undefined>;
    height: (NumberConstructor | StringConstructor)[];
    hint: StringConstructor;
    hoverStateEnabled: BooleanConstructor;
    inputAttr: {};
    invalidValueMessage: StringConstructor;
    isDirty: BooleanConstructor;
    isValid: BooleanConstructor;
    label: StringConstructor;
    labelMode: PropType<LabelMode>;
    max: NumberConstructor;
    min: NumberConstructor;
    mode: PropType<NumberBoxType>;
    name: StringConstructor;
    onChange: PropType<(e: ChangeEvent) => void>;
    onContentReady: PropType<(e: ContentReadyEvent) => void>;
    onCopy: PropType<(e: CopyEvent) => void>;
    onCut: PropType<(e: CutEvent) => void>;
    onDisposing: PropType<(e: DisposingEvent) => void>;
    onEnterKey: PropType<(e: EnterKeyEvent) => void>;
    onFocusIn: PropType<(e: FocusInEvent) => void>;
    onFocusOut: PropType<(e: FocusOutEvent) => void>;
    onInitialized: PropType<(e: InitializedEvent) => void>;
    onInput: PropType<(e: InputEvent) => void>;
    onKeyDown: PropType<(e: KeyDownEvent) => void>;
    onKeyUp: PropType<(e: KeyUpEvent) => void>;
    onOptionChanged: PropType<(e: OptionChangedEvent) => void>;
    onPaste: PropType<(e: PasteEvent) => void>;
    onValueChanged: PropType<(e: ValueChangedEvent) => void>;
    placeholder: StringConstructor;
    readOnly: BooleanConstructor;
    rtlEnabled: BooleanConstructor;
    showClearButton: BooleanConstructor;
    showSpinButtons: BooleanConstructor;
    step: NumberConstructor;
    stylingMode: PropType<EditorStyle>;
    tabIndex: NumberConstructor;
    text: StringConstructor;
    useLargeSpinButtons: BooleanConstructor;
    validationError: {};
    validationErrors: PropType<any[]>;
    validationMessageMode: PropType<ValidationMessageMode>;
    validationMessagePosition: PropType<Position>;
    validationStatus: PropType<ValidationStatus>;
    value: NumberConstructor;
    valueChangeEvent: StringConstructor;
    visible: BooleanConstructor;
    width: (NumberConstructor | StringConstructor)[];
}>> & {
    "onUpdate:isActive"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hoveredElement"?: ((...args: any[]) => any) | undefined;
    "onUpdate:disabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:elementAttr"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onDisposing"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onInitialized"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onOptionChanged"?: ((...args: any[]) => any) | undefined;
    "onUpdate:rtlEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:height"?: ((...args: any[]) => any) | undefined;
    "onUpdate:name"?: ((...args: any[]) => any) | undefined;
    "onUpdate:text"?: ((...args: any[]) => any) | undefined;
    "onUpdate:width"?: ((...args: any[]) => any) | undefined;
    "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
    "onUpdate:label"?: ((...args: any[]) => any) | undefined;
    "onUpdate:max"?: ((...args: any[]) => any) | undefined;
    "onUpdate:min"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hoverStateEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onContentReady"?: ((...args: any[]) => any) | undefined;
    "onUpdate:accessKey"?: ((...args: any[]) => any) | undefined;
    "onUpdate:activeStateEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:focusStateEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hint"?: ((...args: any[]) => any) | undefined;
    "onUpdate:tabIndex"?: ((...args: any[]) => any) | undefined;
    "onUpdate:stylingMode"?: ((...args: any[]) => any) | undefined;
    "onUpdate:buttons"?: ((...args: any[]) => any) | undefined;
    "onUpdate:inputAttr"?: ((...args: any[]) => any) | undefined;
    "onUpdate:isDirty"?: ((...args: any[]) => any) | undefined;
    "onUpdate:isValid"?: ((...args: any[]) => any) | undefined;
    "onUpdate:labelMode"?: ((...args: any[]) => any) | undefined;
    "onUpdate:mode"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onChange"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onCopy"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onCut"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onEnterKey"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onFocusIn"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onFocusOut"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onInput"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onKeyDown"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onKeyUp"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onPaste"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onValueChanged"?: ((...args: any[]) => any) | undefined;
    "onUpdate:placeholder"?: ((...args: any[]) => any) | undefined;
    "onUpdate:readOnly"?: ((...args: any[]) => any) | undefined;
    "onUpdate:showClearButton"?: ((...args: any[]) => any) | undefined;
    "onUpdate:validationError"?: ((...args: any[]) => any) | undefined;
    "onUpdate:validationErrors"?: ((...args: any[]) => any) | undefined;
    "onUpdate:validationMessageMode"?: ((...args: any[]) => any) | undefined;
    "onUpdate:validationMessagePosition"?: ((...args: any[]) => any) | undefined;
    "onUpdate:validationStatus"?: ((...args: any[]) => any) | undefined;
    "onUpdate:value"?: ((...args: any[]) => any) | undefined;
    "onUpdate:valueChangeEvent"?: ((...args: any[]) => any) | undefined;
    "onUpdate:format"?: ((...args: any[]) => any) | undefined;
    "onUpdate:step"?: ((...args: any[]) => any) | undefined;
    "onUpdate:invalidValueMessage"?: ((...args: any[]) => any) | undefined;
    "onUpdate:showSpinButtons"?: ((...args: any[]) => any) | undefined;
    "onUpdate:useLargeSpinButtons"?: ((...args: any[]) => any) | undefined;
}, {
    disabled: boolean;
    rtlEnabled: boolean;
    visible: boolean;
    hoverStateEnabled: boolean;
    activeStateEnabled: boolean;
    focusStateEnabled: boolean;
    isDirty: boolean;
    isValid: boolean;
    readOnly: boolean;
    showClearButton: boolean;
    showSpinButtons: boolean;
    useLargeSpinButtons: boolean;
}>;
declare const DxButton: import("vue").DefineComponent<{
    location: PropType<TextEditorButtonLocation>;
    name: StringConstructor;
    options: PropType<Record<string, any> | dxButtonOptions>;
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:isActive": null;
    "update:hoveredElement": null;
    "update:location": null;
    "update:name": null;
    "update:options": null;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    location: PropType<TextEditorButtonLocation>;
    name: StringConstructor;
    options: PropType<Record<string, any> | dxButtonOptions>;
}>> & {
    "onUpdate:isActive"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hoveredElement"?: ((...args: any[]) => any) | undefined;
    "onUpdate:name"?: ((...args: any[]) => any) | undefined;
    "onUpdate:location"?: ((...args: any[]) => any) | undefined;
    "onUpdate:options"?: ((...args: any[]) => any) | undefined;
}, {}>;
declare const DxFormat: import("vue").DefineComponent<{
    currency: StringConstructor;
    formatter: PropType<(value: number | Date) => string>;
    parser: PropType<(value: string) => number | Date>;
    precision: NumberConstructor;
    type: PropType<string>;
    useCurrencyAccountingStyle: BooleanConstructor;
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:isActive": null;
    "update:hoveredElement": null;
    "update:currency": null;
    "update:formatter": null;
    "update:parser": null;
    "update:precision": null;
    "update:type": null;
    "update:useCurrencyAccountingStyle": null;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    currency: StringConstructor;
    formatter: PropType<(value: number | Date) => string>;
    parser: PropType<(value: string) => number | Date>;
    precision: NumberConstructor;
    type: PropType<string>;
    useCurrencyAccountingStyle: BooleanConstructor;
}>> & {
    "onUpdate:isActive"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hoveredElement"?: ((...args: any[]) => any) | undefined;
    "onUpdate:type"?: ((...args: any[]) => any) | undefined;
    "onUpdate:currency"?: ((...args: any[]) => any) | undefined;
    "onUpdate:formatter"?: ((...args: any[]) => any) | undefined;
    "onUpdate:parser"?: ((...args: any[]) => any) | undefined;
    "onUpdate:precision"?: ((...args: any[]) => any) | undefined;
    "onUpdate:useCurrencyAccountingStyle"?: ((...args: any[]) => any) | undefined;
}, {
    useCurrencyAccountingStyle: boolean;
}>;
declare const DxOptions: import("vue").DefineComponent<{
    accessKey: StringConstructor;
    activeStateEnabled: BooleanConstructor;
    disabled: BooleanConstructor;
    elementAttr: PropType<Record<string, any>>;
    focusStateEnabled: BooleanConstructor;
    height: (NumberConstructor | StringConstructor)[];
    hint: StringConstructor;
    hoverStateEnabled: BooleanConstructor;
    icon: StringConstructor;
    onClick: PropType<(e: ClickEvent) => void>;
    onContentReady: PropType<(e: ButtonContentReadyEvent) => void>;
    onDisposing: PropType<(e: ButtonDisposingEvent) => void>;
    onInitialized: PropType<(e: ButtonInitializedEvent) => void>;
    onOptionChanged: PropType<(e: ButtonOptionChangedEvent) => void>;
    rtlEnabled: BooleanConstructor;
    stylingMode: PropType<ButtonStyle>;
    tabIndex: NumberConstructor;
    template: {};
    text: StringConstructor;
    type: PropType<string>;
    useSubmitBehavior: BooleanConstructor;
    validationGroup: StringConstructor;
    visible: BooleanConstructor;
    width: (NumberConstructor | StringConstructor)[];
}, unknown, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:isActive": null;
    "update:hoveredElement": null;
    "update:accessKey": null;
    "update:activeStateEnabled": null;
    "update:disabled": null;
    "update:elementAttr": null;
    "update:focusStateEnabled": null;
    "update:height": null;
    "update:hint": null;
    "update:hoverStateEnabled": null;
    "update:icon": null;
    "update:onClick": null;
    "update:onContentReady": null;
    "update:onDisposing": null;
    "update:onInitialized": null;
    "update:onOptionChanged": null;
    "update:rtlEnabled": null;
    "update:stylingMode": null;
    "update:tabIndex": null;
    "update:template": null;
    "update:text": null;
    "update:type": null;
    "update:useSubmitBehavior": null;
    "update:validationGroup": null;
    "update:visible": null;
    "update:width": null;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    accessKey: StringConstructor;
    activeStateEnabled: BooleanConstructor;
    disabled: BooleanConstructor;
    elementAttr: PropType<Record<string, any>>;
    focusStateEnabled: BooleanConstructor;
    height: (NumberConstructor | StringConstructor)[];
    hint: StringConstructor;
    hoverStateEnabled: BooleanConstructor;
    icon: StringConstructor;
    onClick: PropType<(e: ClickEvent) => void>;
    onContentReady: PropType<(e: ButtonContentReadyEvent) => void>;
    onDisposing: PropType<(e: ButtonDisposingEvent) => void>;
    onInitialized: PropType<(e: ButtonInitializedEvent) => void>;
    onOptionChanged: PropType<(e: ButtonOptionChangedEvent) => void>;
    rtlEnabled: BooleanConstructor;
    stylingMode: PropType<ButtonStyle>;
    tabIndex: NumberConstructor;
    template: {};
    text: StringConstructor;
    type: PropType<string>;
    useSubmitBehavior: BooleanConstructor;
    validationGroup: StringConstructor;
    visible: BooleanConstructor;
    width: (NumberConstructor | StringConstructor)[];
}>> & {
    "onUpdate:isActive"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hoveredElement"?: ((...args: any[]) => any) | undefined;
    "onUpdate:disabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:elementAttr"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onClick"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onDisposing"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onInitialized"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onOptionChanged"?: ((...args: any[]) => any) | undefined;
    "onUpdate:rtlEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:height"?: ((...args: any[]) => any) | undefined;
    "onUpdate:template"?: ((...args: any[]) => any) | undefined;
    "onUpdate:text"?: ((...args: any[]) => any) | undefined;
    "onUpdate:type"?: ((...args: any[]) => any) | undefined;
    "onUpdate:width"?: ((...args: any[]) => any) | undefined;
    "onUpdate:visible"?: ((...args: any[]) => any) | undefined;
    "onUpdate:validationGroup"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hoverStateEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:onContentReady"?: ((...args: any[]) => any) | undefined;
    "onUpdate:accessKey"?: ((...args: any[]) => any) | undefined;
    "onUpdate:activeStateEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:focusStateEnabled"?: ((...args: any[]) => any) | undefined;
    "onUpdate:hint"?: ((...args: any[]) => any) | undefined;
    "onUpdate:tabIndex"?: ((...args: any[]) => any) | undefined;
    "onUpdate:icon"?: ((...args: any[]) => any) | undefined;
    "onUpdate:stylingMode"?: ((...args: any[]) => any) | undefined;
    "onUpdate:useSubmitBehavior"?: ((...args: any[]) => any) | undefined;
}, {
    disabled: boolean;
    rtlEnabled: boolean;
    visible: boolean;
    hoverStateEnabled: boolean;
    activeStateEnabled: boolean;
    focusStateEnabled: boolean;
    useSubmitBehavior: boolean;
}>;
export default DxNumberBox;
export { DxNumberBox, DxButton, DxFormat, DxOptions };
import type * as DxNumberBoxTypes from "devextreme/ui/number_box_types";
export { DxNumberBoxTypes };
