import { Sizes } from '@m4l/styles';
import { Theme } from '@mui/material';
import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { NumberInputProps } from '../../NumberInput/types';
import { LabelProps } from '../../Label';
import { RHFNumberInputSlots } from './slots/RHFNumberInputEnum';
import { RHF_NUMBER_INPUT_KEY_COMPONENT } from './constants';
/**
 * Props para el componente RHFNumberInput
 */
export interface RHFNumberInputProps extends Omit<LabelProps, 'label' | 'color'>, Omit<NumberInputProps, 'variant' | 'color' | 'value'> {
    name: string;
    /**
     * Prop Para el testeo del componente
     */
    instaceDataTestId?: string;
    /**
     * label para informar sobre el campo
     */
    label?: string;
    /**
     * Variante
     */
    variant?: 'outlined' | 'text';
}
/**
 * Define las claves del objeto `RHFNumberInputSlotsType`, que se utilizan para
 * hacer referencia a los diferentes slots disponibles para estilizar el componente
 * `RHFInputNumberSpinner`.
 */
export type RHFNumberInputSlotsType = keyof typeof RHFNumberInputSlots;
/**
 * Representa las propiedades de estado específicas del componente `RHFNumberInputOwnerState`.
 */
export interface RHFNumberInputOwnerState {
    /**
     * Valor para definir el tamaño del icono.
     */
    iconSize: Sizes;
}
/**
 * Define los estilos del componente `RHFNumberInputStyles`. Permite la personalización parcial
 * de las reglas de estilo mediante `OverridesStyleRules`.
 *
 * Puede ser parcial o estar indefinido.
 */
export type RHFNumberInputStyles = OverridesStyleRules<RHFNumberInputSlots, typeof RHF_NUMBER_INPUT_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map