import React from 'react'; import { type ComponentSize } from '../../../lib/utils'; import type { ComposableProps } from '../../../lib/slot'; export interface InputNumberProps extends Omit, 'onChange' | 'size' | 'prefix'> { /** * Current value (controlled) */ value?: number | null; /** * Default value (uncontrolled) * @default 0 */ defaultValue?: number; /** * Minimum value * @default -Infinity */ min?: number; /** * Maximum value * @default Infinity */ max?: number; /** * Step for increment/decrement * @default 1 */ step?: number; /** * Decimal precision */ precision?: number; /** * Component size * @default 'md' */ size?: ComponentSize; /** * Whether to show controls * @default true */ controls?: boolean; /** * Controls position * @default 'right' */ controlsPosition?: 'right' | 'both'; /** * Error state * @default false */ error?: boolean; /** * Disabled state * @default false */ disabled?: boolean; /** * Change handler */ onChange?: (value: number | null) => void; /** * Formatter for display */ formatter?: (value: number | undefined) => string; /** * Parser from string to number */ parser?: (displayValue: string) => number; /** * InputNumber content (for composable API) */ children?: React.ReactNode; } /** * InputNumber Component * * A numeric input component with increment/decrement controls. * Supports composable API with sub-components for flexible numeric input composition. * * @public * * @example * ```tsx * * * $ * * USD * * * * ``` * * @remarks * - Composable API provides maximum flexibility and control * - All sub-components (InputNumberWrapper, InputNumberField, etc.) support `asChild` * - Supports formatting, parsing, min/max constraints, and custom controls * - Uses FT Design System tokens: var(--primary), var(--border-primary), var(--tertiary) */ export declare const InputNumber: React.ForwardRefExoticComponent>; //# sourceMappingURL=InputNumber.d.ts.map