import { bounds } from '@synnaxlabs/x';
import { ReactElement } from 'react';
import { DragButtonExtraProps } from './DragButton';
import { TextProps } from './Text';
import { Control } from './types';
export interface NumericProps extends Omit<TextProps, "type" | "onBlur" | "value" | "onChange">, DragButtonExtraProps, Control<number> {
    selectOnFocus?: boolean;
    showDragHandle?: boolean;
    bounds?: bounds.Crude;
    onBlur?: () => void;
    units?: string;
}
/**
 * A controlled number input component.
 *
 * @param props - The props for the input component. Unlisted props are passed to the
 * underlying input element.
 * @param props.value - The value of the input.
 * @param props.onChange - A function to call when the input value changes.
 * @param props.size - The size of the input: "small" | "medium" | "large".
 * @default "medium"
 * @param props.selectOnFocus - Whether the input should select its contents when focused.
 * @default true
 * @param props.centerPlaceholder - Whether the placeholder should be centered.
 * @default false
 * @param props.showDragHandle - Whether or not to show a drag handle to set the time.
 * @default true
 * @param props.dragScale - The scale of the drag handle.
 * @default x: 1, y: 10
 * @param props.dragDirection - The direction of the drag handle.
 * @default undefined
 */
export declare const Numeric: ({ ref, onChange, value, dragDirection, showDragHandle, dragScale, selectOnFocus, bounds: propsBounds, resetValue, variant, className, children, disabled, onBlur, units, size, color, contrast, ...rest }: NumericProps) => ReactElement;
//# sourceMappingURL=Numeric.d.ts.map