import { OverridesStyleRules } from '@mui/material/styles/overrides';
import { POINTS_FORMATTER_KEY_COMPONENT } from './constants';
import { Theme } from '@mui/material';
import { PointsFormatterSlots } from './slots/PointsFormatterEnum';
import { PointsFormatterRootStyled } from './slots/ointsFormatterSlots';
import { Sizes } from '@m4l/styles';
/**
 * Maps to the keys in `PointsFormatterSlots`, defining slot-specific styling or customization.
 */
export type PointsFormatter = keyof typeof PointsFormatterSlots;
/**
 * Maps to the keys in `PointsFormatterSlots`, defining slot-specific styling or customization.
 */
export type CalibrationPoint = number | null;
export interface PointsFormatterProps<T extends React.ElementType = typeof PointsFormatterRootStyled> {
    Component?: T;
    obProps: any;
    fieldUnit: string;
    fieldValue: string;
    dataTestId?: string;
    className?: string;
    /**
     * Props para el componente personalizado.
     */
    componentProps?: React.ComponentPropsWithoutRef<T>;
    /**
     * Tamaño del componente.
     */
    size?: Extract<Sizes, 'small' | 'medium'>;
}
/**
 * Styles for customizing.
 *
 * This type allows partial overriding of the default styles through Material-UI's `OverridesStyleRules`.
 * It integrates with the Material-UI `Theme` to ensure consistent theming.
 */
export type PointsFormatterStyles = OverridesStyleRules<PointsFormatter, typeof POINTS_FORMATTER_KEY_COMPONENT, Theme>;
//# sourceMappingURL=types.d.ts.map