import { default as React } from 'react';
import { FieldStyleOverrides } from '../../Shell';
export interface InternalIncrementNumberFieldProps {
    /** Seed for the uncontrolled display (default '0'). Ignored once `value` is set. */
    initialValue?: string;
    /**
     * Fires whenever the value changes (typed input, +/- click, or
     * mousedown auto-repeat). Always passes the resulting numeric value
     * — the legacy polymorphic `(event | number) => void` shape was
     * unworkable for callers that needed to read the value.
     */
    onChange?: (value: number) => void;
    label?: React.ReactNode;
    /** Lower clamp for typed and stepped values (default 0). */
    min?: number;
    /** Upper clamp for typed and stepped values (unclamped when omitted). */
    max?: number;
    /** Milliseconds a +/- button is held before auto-repeat kicks in (default 500). */
    initialDelay?: number;
    /** Milliseconds between auto-repeat steps while a +/- button stays held (default 100). */
    repeatInterval?: number;
    /** Controlled value as a string; drives the display verbatim when set. */
    value?: string;
    placeholder?: string;
    id?: string;
    /** Forwarded to the input as `name` for native form submission. */
    name?: string;
    onFocus?: (e: React.FocusEvent<HTMLInputElement>) => void;
    onBlur?: (e: React.FocusEvent<HTMLInputElement>) => void;
    helperText?: string;
    /** Error message rendered below the input; sets aria-invalid. */
    error?: string | boolean;
    /** Stable test selector — emitted as `data-field` on the wrapper. */
    dataField?: string;
    /** Stable test selector — emitted as `data-field-name` on the wrapper. */
    dataFieldName?: string;
    styles?: FieldStyleOverrides;
}
/**
 * Integer stepper built on FieldShell: a numeric text input with stacked +/-
 * buttons inside the frame that auto-repeat while held (`initialDelay`, then
 * `repeatInterval`). `onChange` emits the plain numeric value — not a DOM
 * event. Auto-binds by `name` inside a goobs `<Form>` (the engine stores the
 * number); otherwise the string `value` prop controls the display.
 */
declare const InternalIncrementNumberField: React.FC<InternalIncrementNumberFieldProps>;
export default InternalIncrementNumberField;
//# sourceMappingURL=index.d.ts.map