import { type PropType } from 'vue';
import { type ThousandsGroupStyle } from '../NumberFormatter';
export interface NumberInputHandlers {
    increment: () => void;
    decrement: () => void;
}
export type NumberInputValue = number | string | bigint;
export type NumberInputStylesNames = 'controls' | 'control' | 'input' | 'wrapper' | 'section' | 'bottomSection' | 'root';
export declare const NumberInput: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    value: {
        type: PropType<NumberInputValue | undefined>;
        default: undefined;
    };
    defaultValue: {
        type: PropType<NumberInputValue | undefined>;
        default: undefined;
    };
    onChange: {
        type: PropType<(value: NumberInputValue) => void>;
        default: undefined;
    };
    onValueChange: {
        type: PropType<(payload: {
            floatValue?: number;
            formattedValue: string;
            value: string;
        }, event: {
            source: string;
        }) => void>;
        default: undefined;
    };
    allowLeadingZeros: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowNegative: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowedDecimalSeparators: {
        type: PropType<string[]>;
        default: () => string[];
    };
    decimalScale: {
        type: NumberConstructor;
        default: undefined;
    };
    decimalSeparator: {
        type: StringConstructor;
        default: string;
    };
    fixedDecimalScale: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefix: {
        type: StringConstructor;
        default: undefined;
    };
    suffix: {
        type: StringConstructor;
        default: undefined;
    };
    thousandsGroupStyle: {
        type: PropType<ThousandsGroupStyle>;
        default: string;
    };
    thousandSeparator: {
        type: PropType<string | boolean>;
        default: undefined;
    };
    min: {
        type: PropType<number | bigint | undefined>;
        default: undefined;
    };
    max: {
        type: PropType<number | bigint | undefined>;
        default: undefined;
    };
    step: {
        type: PropType<number | bigint>;
        default: number;
    };
    hideControls: {
        type: BooleanConstructor;
        default: boolean;
    };
    clampBehavior: {
        type: PropType<"strict" | "blur" | "none">;
        default: string;
    };
    allowDecimal: {
        type: BooleanConstructor;
        default: boolean;
    };
    handlersRef: {
        type: PropType<any>;
        default: undefined;
    };
    stepHoldDelay: {
        type: NumberConstructor;
        default: undefined;
    };
    stepHoldInterval: {
        type: PropType<number | ((t: number) => number)>;
        default: undefined;
    };
    startValue: {
        type: PropType<number | bigint>;
        default: number;
    };
    withKeyboardEvents: {
        type: BooleanConstructor;
        default: boolean;
    };
    trimLeadingZeroesOnBlur: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectAllOnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    onMinReached: {
        type: PropType<() => void>;
        default: undefined;
    };
    onMaxReached: {
        type: PropType<() => void>;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    readOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    rightSection: {
        type: PropType<any>;
        default: undefined;
    };
    rightSectionWidth: {
        type: PropType<string | number>;
        default: undefined;
    };
    rightSectionPointerEvents: {
        type: StringConstructor;
        default: undefined;
    };
    label: {
        type: PropType<any>;
        default: undefined;
    };
    description: {
        type: PropType<any>;
        default: undefined;
    };
    error: {
        type: PropType<any>;
        default: undefined;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    withAsterisk: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapperProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>, () => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
    [key: string]: any;
}>, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    value: {
        type: PropType<NumberInputValue | undefined>;
        default: undefined;
    };
    defaultValue: {
        type: PropType<NumberInputValue | undefined>;
        default: undefined;
    };
    onChange: {
        type: PropType<(value: NumberInputValue) => void>;
        default: undefined;
    };
    onValueChange: {
        type: PropType<(payload: {
            floatValue?: number;
            formattedValue: string;
            value: string;
        }, event: {
            source: string;
        }) => void>;
        default: undefined;
    };
    allowLeadingZeros: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowNegative: {
        type: BooleanConstructor;
        default: boolean;
    };
    allowedDecimalSeparators: {
        type: PropType<string[]>;
        default: () => string[];
    };
    decimalScale: {
        type: NumberConstructor;
        default: undefined;
    };
    decimalSeparator: {
        type: StringConstructor;
        default: string;
    };
    fixedDecimalScale: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefix: {
        type: StringConstructor;
        default: undefined;
    };
    suffix: {
        type: StringConstructor;
        default: undefined;
    };
    thousandsGroupStyle: {
        type: PropType<ThousandsGroupStyle>;
        default: string;
    };
    thousandSeparator: {
        type: PropType<string | boolean>;
        default: undefined;
    };
    min: {
        type: PropType<number | bigint | undefined>;
        default: undefined;
    };
    max: {
        type: PropType<number | bigint | undefined>;
        default: undefined;
    };
    step: {
        type: PropType<number | bigint>;
        default: number;
    };
    hideControls: {
        type: BooleanConstructor;
        default: boolean;
    };
    clampBehavior: {
        type: PropType<"strict" | "blur" | "none">;
        default: string;
    };
    allowDecimal: {
        type: BooleanConstructor;
        default: boolean;
    };
    handlersRef: {
        type: PropType<any>;
        default: undefined;
    };
    stepHoldDelay: {
        type: NumberConstructor;
        default: undefined;
    };
    stepHoldInterval: {
        type: PropType<number | ((t: number) => number)>;
        default: undefined;
    };
    startValue: {
        type: PropType<number | bigint>;
        default: number;
    };
    withKeyboardEvents: {
        type: BooleanConstructor;
        default: boolean;
    };
    trimLeadingZeroesOnBlur: {
        type: BooleanConstructor;
        default: boolean;
    };
    selectAllOnFocus: {
        type: BooleanConstructor;
        default: boolean;
    };
    onMinReached: {
        type: PropType<() => void>;
        default: undefined;
    };
    onMaxReached: {
        type: PropType<() => void>;
        default: undefined;
    };
    size: {
        type: PropType<string | number>;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    readOnly: {
        type: BooleanConstructor;
        default: boolean;
    };
    rightSection: {
        type: PropType<any>;
        default: undefined;
    };
    rightSectionWidth: {
        type: PropType<string | number>;
        default: undefined;
    };
    rightSectionPointerEvents: {
        type: StringConstructor;
        default: undefined;
    };
    label: {
        type: PropType<any>;
        default: undefined;
    };
    description: {
        type: PropType<any>;
        default: undefined;
    };
    error: {
        type: PropType<any>;
        default: undefined;
    };
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    withAsterisk: {
        type: BooleanConstructor;
        default: undefined;
    };
    wrapperProps: {
        type: PropType<Record<string, any>>;
        default: undefined;
    };
    classNames: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    styles: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    vars: {
        type: (ObjectConstructor | FunctionConstructor)[];
        default: undefined;
    };
    unstyled: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & Readonly<{}>, {
    size: string | number;
    max: number | bigint | undefined;
    error: any;
    onChange: (value: NumberInputValue) => void;
    label: any;
    value: NumberInputValue | undefined;
    classNames: Function | Record<string, any>;
    styles: Function | Record<string, any>;
    required: boolean;
    description: any;
    disabled: boolean;
    defaultValue: NumberInputValue | undefined;
    startValue: number | bigint;
    step: number | bigint;
    vars: Function | Record<string, any>;
    unstyled: boolean;
    rightSection: any;
    min: number | bigint | undefined;
    decimalScale: number;
    fixedDecimalScale: boolean;
    prefix: string;
    suffix: string;
    decimalSeparator: string;
    thousandSeparator: string | boolean;
    withAsterisk: boolean;
    rightSectionWidth: string | number;
    rightSectionPointerEvents: string;
    wrapperProps: Record<string, any>;
    readOnly: boolean;
    allowNegative: boolean;
    thousandsGroupStyle: ThousandsGroupStyle;
    onValueChange: (payload: {
        floatValue?: number;
        formattedValue: string;
        value: string;
    }, event: {
        source: string;
    }) => void;
    allowLeadingZeros: boolean;
    allowedDecimalSeparators: string[];
    hideControls: boolean;
    clampBehavior: "none" | "blur" | "strict";
    allowDecimal: boolean;
    handlersRef: any;
    stepHoldDelay: number;
    stepHoldInterval: number | ((t: number) => number);
    withKeyboardEvents: boolean;
    trimLeadingZeroesOnBlur: boolean;
    selectAllOnFocus: boolean;
    onMinReached: () => void;
    onMaxReached: () => void;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
