import { Sizes } from '@m4l/styles';
import { Theme } from '@mui/material';
import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { NumberInputSlots as Slots } from './slots/NumberInputEnum';
import { NUMBER_INPUT_KEY_COMPONENT } from './constants';
import { UseNumberInputParameters } from './hooks/useNumberInput/types';
export interface NumberInputOwnProps extends Omit<UseNumberInputParameters, 'error' | 'inputId' | 'inputRef' | 'focusError'> {
    /**
     * Clase
     */
    className?: string;
    /**
     * Trailing adornment for this input.
     */
    endAdornment?: React.ReactNode;
    /**
     * If `true`, the `input` will indicate an error by setting the `aria-invalid` attribute on the input and the `baseui--error` class on the root element.
     */
    error?: boolean;
    /**
     * The id of the `input` element.
     */
    id?: string;
    /**
     * The short hint displayed in the `input` before the user enters a value.
     */
    placeholder?: React.InputHTMLAttributes<HTMLInputElement>['placeholder'];
    /**
     * Leading adornment for this input.
     */
    startAdornment?: React.ReactNode;
}
export interface NumberInputProps extends NumberInputOwnProps {
    size?: Extract<Sizes, 'small' | 'medium'>;
    variant?: 'outlined' | 'text';
    withDecimal?: boolean;
    dataTestId?: string;
}
export type NumberInputOwnerState = {
    disabled?: boolean;
    size?: Extract<Sizes, 'small' | 'medium'>;
    variant?: 'outlined' | 'text';
    error?: boolean;
    focusError?: boolean;
    noButtons?: boolean;
};
export type NumberInputSlotsType = keyof typeof Slots;
export type NumberInputStyles = OverridesStyleRules<Slots, typeof NUMBER_INPUT_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map